Interface InteractionRecipient
interface InteractionRecipient { handleInvokeRequest(exchange: MessageExchange,
request: TypeFromFields<{ interactionModelRevision: FieldType<number>; invokeRequests: FieldType<TypeFromFields<{ commandFields: OptionalFieldType<TlvStream>; commandPath: FieldType<TypeFromFields<{ clusterId: FieldType<ClusterId>; commandId: FieldType<CommandId>; endpointId: OptionalFieldType<EndpointNumber>; }>>; commandRef: OptionalFieldType<number>; }>[]>; suppressResponse: FieldType<boolean>; timedRequest: FieldType<boolean>; }>,
messenger: InteractionServerMessenger,
message: Message): Promise<void>; handleReadRequest(exchange: MessageExchange,
request: TypeFromFields<{ attributeRequests: OptionalFieldType<TypeFromFields<{ attributeId: OptionalFieldType<AttributeId>; clusterId: OptionalFieldType<ClusterId>; enableTagCompression: OptionalFieldType<boolean>; endpointId: OptionalFieldType<EndpointNumber>; listIndex: OptionalFieldType<null | number>; nodeId: OptionalFieldType<NodeId>; wildcardPathFlags: OptionalFieldType<TypeFromPartialBitSchema<{ reserved1: BitFlag; skipAttributeList: BitFlag; skipChangesOmittedAttributes: BitFlag; skipCommandLists: BitFlag; skipCustomElements: BitFlag; skipDiagnosticsClusters: BitFlag; skipFixedAttributes: BitFlag; skipGlobalAttributes: BitFlag; skipRootNode: BitFlag; }>>; }>[]>; dataVersionFilters: OptionalFieldType<TypeFromFields<{ dataVersion: FieldType<number>; path: FieldType<TypeFromFields<{ clusterId: FieldType<ClusterId>; endpointId: FieldType<EndpointNumber>; nodeId: OptionalFieldType<NodeId>; }>>; }>[]>; eventFilters: OptionalFieldType<TypeFromFields<{ eventMin: FieldType<number | bigint>; nodeId: OptionalFieldType<NodeId>; }>[]>; eventRequests: OptionalFieldType<TypeFromFields<{ clusterId: OptionalFieldType<ClusterId>; endpointId: OptionalFieldType<EndpointNumber>; eventId: OptionalFieldType<EventId>; isUrgent: OptionalFieldType<boolean>; nodeId: OptionalFieldType<NodeId>; }>[]>; interactionModelRevision: FieldType<number>; isFabricFiltered: FieldType<boolean>; }>,
message: Message): Promise<TypeFromFields<{ attributeReports: OptionalFieldType<TypeFromFields<{ attributeData: OptionalFieldType<TypeFromFields<{ data: FieldType<(...
)>; dataVersion: OptionalFieldType<(...
)>; path: FieldType<(...
)>; }>>; attributeStatus: OptionalFieldType<TypeFromFields<{ path: FieldType<(...
)>; status: FieldType<(...
)>; }>>; }>[]>; eventReports: OptionalFieldType<TypeFromFields<{ eventData: OptionalFieldType<TypeFromFields<{ data: OptionalFieldType<(...
)>; deltaEpochTimestamp: OptionalFieldType<(...
)>; deltaSystemTimestamp: OptionalFieldType<(...
)>; epochTimestamp: OptionalFieldType<(...
)>; eventNumber: FieldType<(...
)>; path: FieldType<(...
)>; priority: FieldType<(...
)>; systemTimestamp: OptionalFieldType<(...
)>; }>>; eventStatus: OptionalFieldType<TypeFromFields<{ path: FieldType<(...
)>; status: FieldType<(...
)>; }>>; }>[]>; interactionModelRevision: FieldType<number>; moreChunkedMessages: OptionalFieldType<boolean>; subscriptionId: OptionalFieldType<number>; suppressResponse: OptionalFieldType<boolean>; }>>; handleSubscribeRequest(exchange: MessageExchange,
request: TypeFromFields<{ attributeRequests: OptionalFieldType<TypeFromFields<{ attributeId: OptionalFieldType<AttributeId>; clusterId: OptionalFieldType<ClusterId>; enableTagCompression: OptionalFieldType<boolean>; endpointId: OptionalFieldType<EndpointNumber>; listIndex: OptionalFieldType<null | number>; nodeId: OptionalFieldType<NodeId>; wildcardPathFlags: OptionalFieldType<TypeFromPartialBitSchema<{ reserved1: BitFlag; skipAttributeList: BitFlag; skipChangesOmittedAttributes: BitFlag; skipCommandLists: BitFlag; skipCustomElements: BitFlag; skipDiagnosticsClusters: BitFlag; skipFixedAttributes: BitFlag; skipGlobalAttributes: BitFlag; skipRootNode: BitFlag; }>>; }>[]>; dataVersionFilters: OptionalFieldType<TypeFromFields<{ dataVersion: FieldType<number>; path: FieldType<TypeFromFields<{ clusterId: FieldType<ClusterId>; endpointId: FieldType<EndpointNumber>; nodeId: OptionalFieldType<NodeId>; }>>; }>[]>; eventFilters: OptionalFieldType<TypeFromFields<{ eventMin: FieldType<number | bigint>; nodeId: OptionalFieldType<NodeId>; }>[]>; eventRequests: OptionalFieldType<TypeFromFields<{ clusterId: OptionalFieldType<ClusterId>; endpointId: OptionalFieldType<EndpointNumber>; eventId: OptionalFieldType<EventId>; isUrgent: OptionalFieldType<boolean>; nodeId: OptionalFieldType<NodeId>; }>[]>; interactionModelRevision: FieldType<number>; isFabricFiltered: FieldType<boolean>; keepSubscriptions: FieldType<boolean>; maxIntervalCeilingSeconds: FieldType<number>; minIntervalFloorSeconds: FieldType<number>; }>,
messenger: InteractionServerMessenger,
message: Message): Promise<void>; handleTimedRequest(exchange: MessageExchange,
request: TypeFromFields<{ interactionModelRevision: FieldType<number>; timeout: FieldType<number>; }>,
message: Message): void; handleWriteRequest(exchange: MessageExchange,
request: TypeFromFields<{ interactionModelRevision: FieldType<number>; moreChunkedMessages: OptionalFieldType<boolean>; suppressResponse: OptionalFieldType<boolean>; timedRequest: FieldType<boolean>; writeRequests: FieldType<TypeFromFields<{ data: FieldType<TlvStream>; dataVersion: OptionalFieldType<number>; path: FieldType<TypeFromFields<{ attributeId: OptionalFieldType<AttributeId>; clusterId: OptionalFieldType<ClusterId>; enableTagCompression: OptionalFieldType<boolean>; endpointId: OptionalFieldType<EndpointNumber>; listIndex: OptionalFieldType<(...
) | (...
)>; nodeId: OptionalFieldType<NodeId>; wildcardPathFlags: OptionalFieldType<TypeFromPartialBitSchema<(...
)>>; }>>; }>[]>; }>,
message: Message): Promise<TypeFromFields<{ interactionModelRevision: FieldType<number>; writeResponses: FieldType<TypeFromFields<{ path: FieldType<TypeFromFields<{ attributeId: OptionalFieldType<(...
)>; clusterId: OptionalFieldType<(...
)>; enableTagCompression: OptionalFieldType<(...
)>; endpointId: OptionalFieldType<(...
)>; listIndex: OptionalFieldType<(...
)>; nodeId: OptionalFieldType<(...
)>; wildcardPathFlags: OptionalFieldType<(...
)>; }>>; status: FieldType<TypeFromFields<{ clusterStatus: OptionalFieldType<(...
)>; status: OptionalFieldType<(...
)>; }>>; }>[]>; }>>; } Methods
handleInvokeRequest
- handleInvokeRequest(exchange, request, messenger, message): Promise<void>
Returns Promise<void>
handleSubscribeRequest
- handleSubscribeRequest(exchange, request, messenger, message): Promise<void>
Returns Promise<void>
handleTimedRequest
- handleTimedRequest(exchange, request, message): void
Returns void