The Eversensors resource gives you access to data readings returned from all types of sensors.
Sensors report metadata on their own identity and status, in addition to detecting and reporting the status of the equipment to which the sensor is attached. Messages from sensors include both type-independent and type-specific information.
- Type-independent information includes metadata about the sensor itself, such as the type and MAC address, information about the gateway through which readings are received, and a UNIX-format date-time value for when the readings are reported.
- Type-specific information reports either temperature-humidity or vibrational-electrical readings for the monitored equipment.
See details of the data schema below.
Resource summary
- Base URI is
https://api.data.everactive.com/ds/{ds-api-version}
Eversensors endpoints | Supported operations |
---|---|
{baseURI}/eversensors | GET retrieves a list of sensors. |
{baseURI}/eversensors/{macAddress}/readings | GET retrieves reading from an individual sensor. |
{baseURI}/eversensors/{macAddress}/readings/last | GET retrieves the latest reading from an individual sensor. |
Retrieving sensors
A GET request to the {baseURI}/eversensors
endpoint returns a list of sensors. You can retrieve all sensors in your installation, or filter the list by various criteria. You can get paged results for large lists.
Query parameters | Description |
---|---|
mac-address | A match string used to filter the returned Eversensors by the macAddress property. Returns all sensors whose ID contains this string. The match is case-insensitive. |
page page-size sort-by sort-dir | Get paged and sorted results. |
Finding individual sensors
Individual sensors are uniquely identified by their MAC address.
A MAC address is a string that uses a colon delimiter between hexadecimal pairs. For example:
"bc:5e:a1:00:00:0b:26:07"
The last pair is printed in large letters on each sensor, and typically used to limit search. If multiple sensors match a search for that string, check the entire string to find the correct sensor.
Retrieving sensor readings
To query the readings for a particular sensor, send a GET request to:
{baseURI}/eversensors/{macAddress}/readings
Path parameter | Description |
---|---|
{macAddress} | The full MAC address of the sensor, consisting of 6 colon-separated hexadecimal pairs. |
Use query parameters to specify a time range. Times are expressed as absolute time values in UNIX format (seconds from 1970-01-01).
Query parameters | Description |
---|---|
start-time end-time | The time range of readings to retrieve, as UNIX time values Range is inclusive. The maximum difference allowed between the two time parameters is 1 day (24 hours, 86400 seconds). |
Response
The response contains a JSON array of data points in ascending order by time. The properties returned in the response varies according to the type of the sensor.
Retrieving the latest reading
To retrieve the last reading received from a particular sensor, send a GET request to:
{baseURI}/eversensors/{macAddress}/readings/last
Response
The response contains a JSON object with the properties appropriate to the type of the sensor.
Sensor readings data schema
The schema for all sensor readings includes information about the sensor type and MAC address, the time and date of the reading, and the gateway through which the reading was received. Beyond this type-independent metadata, properties for each type of sensor report the values detected in monitoring the associated equipment.
Type-independent metadata
All readings include the following properties.
Property | Description |
---|---|
vcap | Electrical potential of the capacitor or capacitors on the Eversensor, in volts (V). |
scap | Optional. Not present if an Eversensor does not have a super capacitor. Electrical potential of super capacitors on the Eversensor, in volts (V). |
schema | A string that identifies the type of data returned by this sensor. Currently, sensors return either temperature-humidity data or vibration-electrical data |
schemaVersion | The version of the schema used to return sensor data. |
timestamp | The Unix-format absolute time when this message was sent. Seconds from 1970-01-01 00:00:00.0000Z |
readingDate | The timestamp represented in ISO-8601 format For example: 2022-03-31T09:14:23.234000Z |
rssiUplink | The signal strength from the sensor to the gateway as measured by the gateway. |
unsolicited | True if the reading was sent by the Eversensor with a wake-up signal being sent, false if the reading was requested by a gateway. |
gatewaySerialNumber | The serial number of the gateway through which this reading was reported. |
macAddress | The MAC address of the reporting sensor. |
packetNumberGateway packetNumberEversensor | An integer number that increments with each packet a sensor or gateway sends. Can be used to determine if all packets have been received. NOTE: It is possible for the same packet to be sent via more than one gateway, resulting in duplicate sensor packet values. This is rare for second generation sensors, but can happen with first generation temperature-humidity sensors. |
Type-dependent monitoring data
The readings themselves are contained in the following properties, according to the type of sensor.
Sensor data properties | |
---|---|
humidityMeasurements temperatureMeasurements | An array of specific values for the monitored equipment, with a 0-based index that orders multiple readings within the reporting interval. -- For sensors that monitor steam traps, the values describe the monitored equipment. -- For sensors that monitor machine health, the values describe the internal humidity and temperature of the sensor itself, and the temperature of the thermal energy harvester (TEG) on the sensor. |
vibrationalMeasurements electricalFieldMeasurements | Optional. Returned only for sensors that monitor machine health. An array of specific values for the monitored equipment. Each array includes both the measurements themselves, and metadata that describes how collection is configured for the sensor. |
Example temperature-humidity readings
The following example shows the temperature-humidity properties in a message body, using example values.
{
"vcap": 4,
"schema": "https://evr.ac/schemas/platform/eversensor/temperature-humidity/v1/reading",
"timestamp": 1645760423,
"macAddress": "00:a0:50:0b:26:07",
"rssiUplink": -81,
"readingDate": "2022-02-25T03:40:23.203000Z",
"schemaVersion": "v1",
"gatewaySerialNumber": "F82KP42",
"packetNumberGateway": 108055,
"humidityMeasurements": [
{
"value": 36.828125,
"sensorIndex": 0
}
],
"packetNumberEversensor": 117,
"temperatureMeasurements": [
{
"value": 296.8125,
"sensorIndex": 0
},
{
"value": 296.375,
"sensorIndex": 1
},
{
"value": 323,
"sensorIndex": 2
}
]
}
Vibrational-electrical data
The following example shows the vibrational-electrical properties in a message body, using example values.
{
"scap": 2,
"vcap": 3.375,
"schema": "https://evr.ac/schemas/platform/eversensor/vibration-electrical/v1/reading",
"timestamp": 1647531836,
"macAddress": "bc:5e:a1:ff:fe:00:0d:48",
"rssiUplink": -58,
"readingDate": "2022-03-17T15:43:56Z",
"unsolicited": false,
"schemaVersion": "v1",
"gatewaySerialNumber": "44XCF92",
"packetNumberGateway": 54315,
"humidityMeasurements": [
{
"value": 48.23828,
"sensorIndex": 0
}
],
"packetNumberEversensor": 11,
"temperatureMeasurements": [
{
"value": 288.625,
"sensorIndex": 0
},
{
"value": 290.375,
"sensorIndex": 1
}
],
"vibrationalMeasurements": {
"velocity": {
"maxLevels": {
"axial": 0.028688451,
"radial": 0.032513827,
"tangential": 0.048771672
},
"overallLevels": {
"axial": 0.1751165,
"radial": 0.16835278,
"tangential": 0.15839909
},
"spectralPeaks": {
"axial": [
{
"frequency": 13.28125,
"magnitude": 0.028688451
}
],
"radial": [
{
"frequency": 11.71875,
"magnitude": 0.032513827
}
],
"tangential": [
{
"frequency": 8.072916,
"magnitude": 0.048771672
}
]
},
"configurationMetadata": {
"units": "mm/s",
"sampleRate": 3200,
"sampleCount": 4096,
"bitsPerSample": 12,
"sampleFullScale": 2
}
}
},
"electricalFieldMeasurements": {
"maxLevel": 11.973185,
"spectral_peaks": [
{
"frequency": 26.25007,
"magnitude": 11.973185
},
{
"frequency": 22.170609,
"magnitude": 3.3485334
}
],
"configurationMetadata": {
"units": "micro-teslas",
"sampleRate": 800,
"sampleCount": 512,
"bitsPerSample": 9
}
}
}