Thing Presence: Reporting Strategies
The ThingWorx Platform comes with default reporting strategies to handle various existing use cases. Customers may want to create a custom strategy to handle their unique situation. This section describes the default reporting strategies.
The polling ReportingStrategy Thing to be used by Axeda customers for Axeda eMessage Agent devices conforms to the Axeda Compatibility Extension's model of Axeda Assets. For details on the entities of the Axeda Compatibility Extension (ACE), refer to Axeda Compatibility Extension (ACE) Entity Reference.
AlwaysOn
The default reporting strategy is named AlwaysOnReporting. This strategy is applied to all existing Remote Things upon ThingWorx Platform upgrade, or creation of a new RemoteThing.
This strategy is used on all Remote Things representing devices that bind to the platform and continuously maintain their connection. For example, most devices that directly use WebSocket SDKs (the ThingWorx Edge SDKs all use the WebSocket protocol) use the AlwaysOnReporting strategy.
All devices with this default reporting strategy are evaluated as follows:
When the device binds, in which case the device is considered reporting and isReporting is set to true.
When the device unbinds, in which case the device is considered not reporting and isReporting is set to false.
Polling Strategy (ACE)
The polling strategy is used on all Things representing devices that periodically connect to the platform to poll for egress and/or deliver ingress (for example, property updates). These devices are not expected to maintain their connection to the platform continuously under normal operating conditions. Examples of polling devices include Axeda's eMessage Agent devices, which use HTTP/HTTPS for communications and protocol adapters to convert to/from the ThingWorx native WebSocket-based protocol.
The Axeda Compatibility Extension (ACE) captures this strategy in the ReportingStrategy Thing. This Thing provides customization options to configure the strategy to your needs. See the reference for the ACE in the Axeda Compatibility Extension (ACE) Entity Reference for details.
For all polling devices, reporting evaluation occurs:
When the device contacts the ThingWorx Platform on bind events, in which case a device is considered reporting.
On a timed interval with a default of evaluating once every five minutes, in which case a device may be considered not reporting if it fails to meet the missed pings and missed time criteria.
Was this helpful?