Structure
Work events within Senseye are composed of the following required attributes:
- Timestamp: the date, time and time zone that the work took place
- Message: A free text description of the work undertaken
- Asset ID: Either the Senseye or External ID of the asset the work was performed on
- Is Routine: Whether the event was routine or non-routine
- Work Activity: The type of work undertaken
In addition to these required attributes, the following optional attribute can be provided:
- Failure Mode: Identifies the failure encountered on the asset
Each will be described in more detail in the following sections.
Timestamp¶
The eventTime
attribute should identify when the work was completed. This allows Senseye to learn how the failure evolved to the point of intervention and implies that any changes in data may be related to the recent work on the asset.
Ideally the date and time provided should be as close to the work being completed as possible. If an accurate timestamp is not available, the application prefers timestamps which are known to be after the work being completed, rather than before.
The timestamp should include date, time and time zone, see the timestamp documentation for more information on the required format.
Message¶
The message is a free text description which explains the work. It is shown within the application and often used as contextual information when exploring cases and root causes.
Asset ID¶
The asset which the work was performed on can be identified by either its Senseye ID or an External ID. Typically the External ID used in this case would be the ID of the asset within your maintenance system - you can read more about configuring and using External IDs here.
Is Routine¶
This boolean attribute identifies whether the work was planned or not. It is used in reporting to allow insight to be gained from your maintenance records.
Work Activity¶
Work activity explains what work was undertaken. The values are codified within Senseye, they rarely change and are common across all assets. The current list is:
Name | ID |
---|---|
Visual Inspection | visualinspection |
Minor Maintenance | minormaint |
Reconfiguration | programChange |
Replacement | replacement |
Major Maintenance | majormaint |
Repair | repair |
When interacting with the API, the ID of the work activity should be used. In most cases, we recommend hard coding the above list into your integration logic, but if required, you can gather the latest list from our GraphQL API. The following query uses the workActivities query on an asset to gather the latest list of work activities:Getting the latest list...
{
assetByExternalID(id: "external-id-for-asset") {
workActivities {
id
name
}
}
}
If you wish to use the Senseye asset ID, rather than an External ID, replace assetByExternalID
with asset
.
Failure Mode¶
Failure mode explains what went wrong. It is not required, but by providing this Senseye can learn more about your assets and their failures, resulting in better diagnostics and prognostics. The values are codified within Senseye, they change infrequently and are common across all assets. The current list is:
Name | ID |
---|---|
Abnormal noise | MaPS:FAILURE_MODE<Abnormal noise> |
Abnormal wear | MaPS:FAILURE_MODE<Abnormal wear> |
Blocked/Plugged/Choked | MaPS:FAILURE_MODE<Blocked/Plugged/Choked> |
Contaminated | MaPS:FAILURE_MODE<Contaminated> |
Control malfunction | MaPS:FAILURE_MODE<Control malfunction> |
Corroded | MaPS:FAILURE_MODE<Corroded> |
Current Incorrect | MaPS:FAILURE_MODE<Current Incorrect> |
Damaged | MaPS:FAILURE_MODE<Damaged> |
Excessive wear | MaPS:FAILURE_MODE<Excessive wear> |
Fails test/check | MaPS:FAILURE_MODE<Fails test/check> |
Fitted incorrectly | MaPS:FAILURE_MODE<Fitted incorrectly> |
In/output incorrect | MaPS:FAILURE_MODE<In/output incorrect> |
Incomplete fill | MaPS:FAILURE_MODE<Incomplete fill> |
Leaking | MaPS:FAILURE_MODE<Leaking> |
Level incorrect | MaPS:FAILURE_MODE<Level incorrect> |
Loose | MaPS:FAILURE_MODE<Loose> |
Misaligned | MaPS:FAILURE_MODE<Misaligned> |
No fault found | MaPS:FAILURE_MODE<No fault found> |
No rotation | MaPS:FAILURE_MODE<No rotation> |
Open Circuit | MaPS:FAILURE_MODE<Open Circuit> |
Other | MaPS:FAILURE_MODE<Other> |
Out of adjustment | MaPS:FAILURE_MODE<Out of adjustment> |
Out of Balance | MaPS:FAILURE_MODE<Out of Balance> |
Overheating | MaPS:FAILURE_MODE<Overheating> |
Overstressed | MaPS:FAILURE_MODE<Overstressed> |
Pressure incorrect | MaPS:FAILURE_MODE<Pressure incorrect> |
Replacement (Obsolete) | MaPS:FAILURE_MODE<Replacement (Obsolete)> |
Robbed | MaPS:FAILURE_MODE<Robbed> |
Seized | MaPS:FAILURE_MODE<Seized> |
Sensor Malfunction | MaPS:FAILURE_MODE<Sensor Malfunction> |
Short Circuit | MaPS:FAILURE_MODE<Short Circuit> |
Slow to operate | MaPS:FAILURE_MODE<Slow to operate> |
Temperature incorrect | MaPS:FAILURE_MODE<Temperature incorrect> |
Vibration | MaPS:FAILURE_MODE<Vibration> |
Voltage Incorrect | MaPS:FAILURE_MODE<Voltage Incorrect> |
Getting the latest list...
In most cases, we recommend hard coding the above list into your integration logic, but if required, you can gather the latest list from our GraphQL API. The following query uses the failureModes query on an asset to gather the latest list of failure modes:
{
assetByExternalID(id: "external-id-for-asset") {
failureModes {
id
name
}
}
}
If you wish to use the Senseye asset ID, rather than an External ID, replace assetByExternalID
with asset
.