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 endpointsSupported operations
{baseURI}/eversensorsGET retrieves a list of sensors.
{baseURI}/eversensors/{macAddress}/readingsGET retrieves reading from an individual sensor.
{baseURI}/eversensors/{macAddress}/readings/lastGET 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 parametersDescription
mac-addressA 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 parameterDescription
{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 parametersDescription
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.

PropertyDescription
vcapElectrical potential of the capacitor or capacitors on the Eversensor, in volts (V).
scapOptional. Not present if an Eversensor does not have a super capacitor.

Electrical potential of super capacitors on the Eversensor, in volts (V).
schemaA string that identifies the type of data returned by this sensor. Currently, sensors return either temperature-humidity data or vibration-electrical data
schemaVersionThe version of the schema used to return sensor data.
timestampThe Unix-format absolute time when this message was sent. Seconds from 1970-01-01 00:00:00.0000Z
readingDateThe timestamp represented in ISO-8601 format For example: 2022-03-31T09:14:23.234000Z
rssiUplinkThe signal strength from the sensor to the gateway as measured by the gateway.
unsolicitedTrue if the reading was sent by the Eversensor with a wake-up signal being sent, false if the reading was requested by a gateway.
gatewaySerialNumberThe serial number of the gateway through which this reading was reported.
macAddressThe 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
    }
  }
}