For the complete documentation index, see llms.txt. This page is also available as Markdown.

Discrete Inputs for Threshold alarm states (from v4.8.4)

RSSI alarm

Sensor’s packet loss alarm state (rssiAlarm) can be read from discrete inputs registers. Each sensor has its object nested inside discreteInputs type object. Each sensor object has its RSSI alarm object.

NOTE: If the RSSI alarm is active for the sensor, all the measurement requests (from Input registers) except the time will return exception ILLEGAL_DATA_VALUE. Time reading will return a Unix timestamp since RSSI alarm was set as active.

Measurement threshold alarms (from v4.8.4)

Measurement threshold alarm states can be read from Discrete Inputs. Each measurement has Min and Max thresholds. If measurement value trespasses one or another threshold, the appropriate threshold alarm state is set to “active” (Discrete Input value: 1; inactive: 0).

In the Modbus auto-generated registry address mapping configuration file Min and Max threshold alarm state JSON objects are nested inside the discreteInputs type object. For example, if measurement is "temperature" then threshold alarm state JSON object names will be:

  • MinTemperatureAlarm

  • MaxTemperatureAlarm

For the 4T Transmitter measurement names will end with the probe ID:

  • temperature1: MinTemperatureAlarm:1 and MaxTemperatureAlarm:1

  • temperature2: MinTemperatureAlarm:2 and MaxTemperatureAlarm:2

Example snippet for temperature threshold alarm state objects inside "discreteInputs":

"discreteInputs": {
  "offset": 10000,
  "4196581": { // Sensor 4008E5; Address: 10000
    "offset": 0,
    "MinTemperatureAlarm": { // Address 10001
      "offset": 1,
      "dataType": "bit",
      "address": 10001 // read-only
    },
    "MaxTemperatureAlarm": { // Address 10002
      "offset": 2,
      "dataType": "bit",
      "address": 10002 // read-only
    }
  }
}

Battery low alarm (from v4.9.x)

Sensor’s low battery alarm state (batteryAlarm) can be read from discrete inputs registers. Each sensor has its object nested inside discreteInputs type object. Each sensor object has its batteryAlarm object.

Example:

In the mapping example above, request to address 10000 will return sensor 4008E5 low battery alarm state: 0 – inactive, 1 – active.

Last updated