The implemented cluster.
ReadonlyeventsAccess the behavior's events.
ReadonlybootThe BootReason Event shall indicate the reason that caused the device to start-up.
Optional ReadonlyhardwareThe HardwareFaultChange Event shall indicate a change in the set of hardware faults currently detected by the Node.
Optional ReadonlynetworkThe NetworkFaultChange Event shall indicate a change in the set of network faults currently detected by the Node.
Optional ReadonlyradioThe RadioFaultChange Event shall indicate a change in the set of radio faults currently detected by the Node.
Supported features as a flag object.
ProtectedinternalAccess the behavior's state.
Static ReadonlyclusterBase cluster state include all attribute values but may be extended by subclasses.
Static ReadonlydefaultsStatic Optional ReadonlydependenciesStatic ReadonlyearlyStatic ReadonlyEventsStatic ReadonlyidThe behavior ID for ClusterBehaviors is the name of the cluster.
Static ReadonlyInterfaceStatic ReadonlynameStatic Optional ReadonlyschemaStatic ReadonlysupervisorStaticsupportsDoes this behavior support functionality of a specific implementation?
Release resources. This is the public API for releasing application resources held by behaviors in internal state.
Execute logic with elevated privileges.
The provided function executes with privileges escalated to offline mode. This is not commonly necessary.
Elevated logic effectively ignores ACLs so should be used with care.
Note that interactions with the behavior will remain elevated until the synchronous completion of this call. You should only elevate privileges for synchronous logic.
the elevated logic
ProtectedcallbackCreate a generic callback function that has the same properties as a Reactor.
Like a reactor, the callback's "this" will be bound to an active Behavior instance. Because of this: The reactor MUST be a real JS function - arrow functions will not work!
Clear a hardware fault. This convenience method updates the activeHardwareFaults attribute and sends out the HardwareFaultChanged event.
The hardware fault to clear.
Clear a network fault. This convenience method updates the activeNetworkFaults attribute and sends out the NetworkFaultChanged event.
The network fault to clear.
Clear a radio fault. This convenience method updates the activeRadioFaults attribute and sends out the RadioFaultChanged event.
The radio fault to clear.
Behaviors are ephemeral and should not perform initialization in their constructor. They can override this method instead.
This method may be synchronous or asyncronous. If asynchronous, the behavior will not be available for external use until initialization completes.
This command provides a means for certification tests or manufacturer’s internal tests to validate particular command handling and encoding constraints by generating a response of a given size.
This command shall use the same EnableKey behavior as the TestEventTrigger command, whereby processing of the command is only enabled when the TestEventTriggersEnabled field is true, which shall NOT be true outside of certification testing or manufacturer’s internal tests.
The fields for the PayloadTestRequest command are as follows:
ProtectedreactInstall a Reactor.
Important: The reactor MUST be a real JS function - arrow functions will not work!
Register a hardware fault. This convenience method updates the activeHardwareFaults attribute and sends out the HardwareFaultChanged event. Make sure to clear the fault when it is resolved. This method requires that the activeHardwareFaults attribute is activated when the cluster gets initialized.
The hardware fault to register.
Register a network fault. This convenience method updates the activeNetworkFaults attribute and sends out the NetworkFaultChanged event. Make sure to clear the fault when it is resolved. This method requires that the activeNetworkFaults attribute is activated when the cluster gets initialized.
The network fault to register.
Register a radio fault. This convenience method updates the activeRadioFaults attribute and sends out the RadioFaultChanged event. Make sure to clear the fault when it is resolved. This method requires that the activeRadioFaults attribute is activated when the cluster gets initialized.
The radio fault to register.
This command shall be supported to provide a means for certification tests to trigger some test- plan-specific events, necessary to assist in automation of device interactions for some certification test cases. This command shall NOT cause any changes to the state of the device that persist after the last fabric is removed.
The fields for the TestEventTrigger command are as follows:
This command may be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. This can help clients establish
time correlation between their concept of time and the server’s concept of time. This is especially useful when processing event histories where some events only contain System Time.
Upon command invocation, the server shall respond with a TimeSnapshotResponse.
ProtectedtriggerStaticalterStaticenableStaticforStaticsetStaticwith
This is the default server implementation of GeneralDiagnosticsBehavior.
The implementation provides convenience methods to register and clear hardware, radio, and network faults and to handle test Event triggers.
To handle test Event triggers please override the triggerTestEvent method. If these test events are used in certification please also set the EnableKey in the enhanced state as
deviceTestEnableKey.To register or clear hardware, radio, and network faults, please use the provided convenience methods: