Appendix

Data Message Example

Example data message:

{
  "ts": 1608416763.9,
  "ambient": 25.83,
  "current1": 0.16,
  "angle": 1.7,
  "pitch": -0.9,
  "motion": 24,
  "wifi_ip": "192.168.1.178",
  "deviceid": "BD6AEDJQ2",
  "vreg": 8.98,
  "vsys": 4.09,
  "vbat": 0,
  "wifi_rssi": -32,
  "light": 1,
  "accel_x": 0.02,
  "accel_y": -0.03,
  "accel_z": -1.01,
  "events": [
    {
      "msg": "Low",
      "topic": "pitch",
      "lv": 30
    }
  ],
  "pressure": 101.26,
  "vin": 12.11,
  "analog1": 0,
  "roll": -1.5,
  "can1": [
    {
      "data": "42C8590803FFD908",
      "id": 419371762
    },
    {
      "data": "4DE9BD3404AA7D34",
      "id": 419372018
    }
  ]
}

List of Data Keys

The following table lists all possible data measurement keys used by Senquip devices. Note: depending on device model and configuration, not all keys may be available.

Key

Description

Default Units

vsys

Internal system voltage

Volts

vin

Input supply voltage

Volts

vbat

AA Battery Voltage

Volts

light

Light sensor (tamper) status

0 or 1

gps_lat

GPS Latitude

gps_lon

GPS Longitude

gps_speed

GPS Speed

km/h

ambient

Internal Temperature

°C

capture1

Serial 1 Capture

pitch

Pitch of device

degrees

roll

Roll of device

degrees

angle

Angle of device

degrees

motion

Motion/Vibration

millig-g

analog1

Analog Input 1

analog2

Analog Input 2

analog3

Analog Input 3

analog4

Analog Input 4

analog5

Analog Input 5

digital1

Digital Input 1

digital2

Digital Input 2

digital3

Digital Input 3

digital4

Digital Input 4

digital5

Digital Input 5

tc1

Thermocouple Input 1

°C

freq1

Frequency Input 1

Hz

duty1

Duty Cycle Input 1

%

pulse1

Total pulse count on Input 1

pulse_delta1

Pulse count this cycle on Input 1

current1

Current Loop Input 1

current2

Current Loop Input 2

current3

Current Loop Input 3

current4

Current Loop Input 4

current5

Current Loop Input 5

mod1

Modbus Channel 1

mod2

Modbus Channel 2

mod3

Modbus Channel 3

mod4

Modbus Channel 4

mod5

Modbus Channel 5

mod6

Modbus Channel 6

mod7

Modbus Channel 7

mod8

Modbus Channel 8

mod9

Modbus Channel 9

mod10

Modbus Channel 10

can1

CANbus Channel 1

can2

CANbus Channel 2

state

Current device state (0 to 6)

state1_hrs

Number of hours in device state 1

hours

state2_hrs

Number of hours in device state 2

hours

state3_hrs

Number of hours in device state 3

hours

state4_hrs

Number of hours in device state 4

hours

state5_hrs

Number of hours in device state 5

hours

state6_hrs

Number of hours in device state 6

hours

motion_hrs

Number of hours where vibration is above wake threshold

hours

vin_hrs

Number of hours where Vin is above 9 volts

hours

movement_hrs

Number of hours where GPS speed is equal or above 2 km/h

hours

hourmeter1_hrs

Number of hours recorded on custom hourmeter

hours

gsm_iccid

ICCID of SIM card

gsm_imei

IMEI of device

gsm_carrier

The mobile carrier

gsm_rssi

Signal strength of GSM connection

dBm

wifi_ip

IP address of Wifi connection

wifi_rssi

Signal strength of Wifi connection

dBm

List of Configuration Keys

Type

Key

Name

Description

Range

Units

Notes

string

device.id

Device ID

Unique device serial number.

readonly

string

device.model

Device Model

The device model number.

readonly

string

device.fw

Firmware Version

The device firmware revision.

readonly

string

device.hw

Hardware Revision

The device hardware revision.

readonly

string

device.name

Device Name

A name for the device that is meaningful to the user.

integer

device.base_interval

Base Interval

The time after which the device will wakeup to check which measurements need to be taken and if a transmission is scheduled.

1 to 86400

Seconds

integer

device.transmit_interval

Transmit Interval

The number of base intervals after which a transmission is made.

1 to 1000

integer

device.exception_interval

Exception Interval

If a warning or alarm is active, this setting overrides the Transmit Interval, allowing an increased rate of transmission.

1 to 1000

boolean

device.always_on

Device Always On

If enabled the device will not sleep between Base Intervals and will remain awake. Not recommended for battery powered applications.

boolean

device.batch_tx_enable

Batch Transmit

If enabled, all measurements at the Base Interval will be stored and transmitted at the Transmit Interval. Useful for low power optimisation.

boolean

device.web_always_on

Web Server

This setting will keep the device webserver on all the time (while device is awake). Normally the websever is only available in setup mode.

boolean

device.vin.alert_enable

Power Loss Alert

Sends and alert when voltage on the power input is below a fixed threshold.

boolean

device.vin.sleep_enable

Hibernate on Power Loss

Puts the device into a low power state, when the power input is below a fixed threshold. The device will run off it’s internal backup battery and report periodically.

boolean

device.vin.sleep_disconnect

Disconnect Power During Sleep

Disconnect power input during sleep/hibernate when the internal battery is charged. Reduces current draw from an external battery. Not recommended for solar.

integer

device.vin.sleep_delay

Hibernate Delay Intervals

The number of base intervals to wait after power loss before entering hibernate mode.

0 to 1000

integer

device.vin.sleep_interval

Hibernate Period

How often the device will wake and transmit during hibernate on power loss mode.

300 to 86400

Seconds

boolean

device.vin.count_hours

Count Hours

Counts the number of hours the power input is active. Typically used as an engine hour meter when powered from ignition.

boolean

wifi.sta.enable

Wifi

Connect to existing Wifi connection specified below.

string

wifi.sta.ssid

SSID

Wifi SSID to connect to.

password

wifi.sta.pass

Password

Wifi password to use for connection.

string

wifi.sta.ip

Static IP Address

Leave blank if assigned by DHCP.

string

wifi.sta.netmask

Static Netmask

Leave blank if assigned by DHCP.

string

wifi.sta.gw

Static Gateway

Leave blank if assigned by DHCP.

string

wifi.sta.nameserver

DNS Server

Leave blank if assigned by DHCP.

boolean

gsm.enable

4G LTE

Enable the 4G LTE connection.

string

gsm.apn

APN

Access Point Name of mobile operator

string

gsm.user

Username

Username for data connection. Leave blank if not specified

string

gsm.pass

Password

Password for data connection. Leave blank if not specified

string

tamper.name

Name

A name for the light sensor that is meaningful to the user.

string

tamper.alert

Tamper Alert

Alert thresholds. Refer to user guide.

0 to 1

preset

magnet.mode

Mode

Specifies the function of the Magnetic Switch.

Disabled,Setup,Wake,Trigger

string

ambient.name

Name

A name for the input that is meaningful to the user.

integer

ambient.interval

Interval

The number of base intervals after which the temperature is sampled. A value of 1 means that the input is collected every base interval. Set to 0 to disable.

0 to 10000

string

ambient.alert

Temperature Alert

Alert thresholds. Refer to user guide.

-40 to 100

°C

string

accel.name

Name

A name for the input that is meaningful to the user.

integer

accel.interval

Interval

The number of base intervals after which the accelerometer is sampled. A value of 1 means that the input is collected every base interval. Set to 0 to disable.

0 to 10000

boolean

accel.outputxyz

Output XYZ Vectors

Send X,Y,Z gravity vectors in data output.

string

accel.pitch.alert

Pitch Alert

Alert thresholds. Refer to user guide.

-90 to 90

Degrees

string

accel.roll.alert

Roll Alert

Alert thresholds. Refer to user guide.

-90 to 90

Degrees

string

accel.angle.alert

Angle Alert

Alert thresholds. Refer to user guide.

0 to 90

Degrees

string

accel.motion.alert

Vibration Alert

Alert thresholds. Refer to user guide.

0 to 5000

milli-g

boolean

accel.motion.wake_from_hibernate

Wake from Sleep/Hibernate

The high warning vibration threshold is used to wake the device when in sleep or hibernate.

decimal

accel.motion.wake_threshold

Vibration Wake Threshold

The vibration threshold above which the device will wake from hibernation.

1 to 2000

milli-g

boolean

accel.motion.count_hours

Count Vibration Hours

Counts the number of hours the device exceeds the Vibration Wake Threshold. Typically used as an machinery work vs idle hour meter.

string

ble.name

Name

A name that is meaningful to the user.

boolean

ble.enable

Enable Bluetooth

Enable the Bluetooth module. This must be enabled to use Bluetooth below or from a script, but reduces available RAM.

string

ble.addr

Address

The Bluetooth Address of this device.

readonly

integer

ble.interval

Interval

The number of base intervals at which the Bluetooth module collects data. Set to 0 to disable.

0 to 10000

integer

ble.scan_time

Scan Time

How long to scan for Bluetooth advertisements each interval.

1 to 300

Seconds

string

ble.id_list

Address Capture List

List of addresses to be captured in HEX format, separated by a comma eg: AC233F6925AD. Leave blank to capture all.

boolean

ble.send_data

Send Raw Data

Send all captured data in the standard data message. If unticked, data is only delivered to the scripting handler.

string

gps.name

Name

A name for the GPS signal that is meaningful to the user.

integer

gps.interval

Interval

The number of base intervals after which the gps is sampled. A value of 1 means that the input is collected every base interval. Set to 0 to disable.

0 to 10000

integer

gps.maxtime

Max Time

Maximum time the device will wait for a valid GPS fix.

0 to 3600

Seconds

decimal

gps.position.lat

Expected Latitude

Latitude at which the device is expected to be.

-90 to 90

Degrees

decimal

gps.position.lon

Expected Longitude

Longitude at which the device is expected to be.

-180 to 180

Degrees

string

gps.position.alert

Expected Position Alert

Alert thresholds. Refer to user guide.

Meters

boolean

gps.speed.count_hours

Count Movement Hours

Counts the number of hours the device is moving according to the GPS speed.

string

gps.speed.alert

Speed Alert

Alert thresholds. Refer to user guide.

km/h

decimal

vset.voltage

VSET Voltage

The voltage setting of the internal voltage supply to IO terminals.

5 to 25

Volts

string

io1.name

Name

A name for the input that is meaningful to the user.

integer

io1.interval

Interval

The number of base intervals after which the input is sampled. A value of 1 means that the input is collected every base interval. Set to 0 to disable.

0 to 10000

preset

io1.output.default_state

Default State

The state of the output when NOT in an active measurement interval.

OFF,GND,VIN,VSET,PULLUP

preset

io1.output.meas_state

Measurement State

The state of the output during an active measurement interval.

No Change,GND,VIN,VSET

decimal

io1.output.meas_time

Measurement Time

How long the IO will stay in the Measurement State before measurements are taken.

0 to 3600

Seconds

boolean

io1.voltage.enable

Measure Voltage

Enables voltage measurement on terminal.

string

io1.voltage.cal

Voltage Calibration

Calibration parameters. Refer to user guide.

Volts

string

io1.voltage.alert

Voltage Alert

Alert thresholds. Refer to user guide.

boolean

io1.current.enable

Measure Current

Enables current measurement on terminal.

string

io1.current.cal

Current Calibration

Calibration parameters. Refer to user guide.

mA

string

io1.current.alert

Current Alert

Alert thresholds. Refer to user guide.

boolean

io1.freq.enable

Measure Frequency

Enables frequency measurement on terminal.

string

io1.freq.cal

Frequency Calibration

Calibration parameters. Refer to user guide.

Hz

string

io1.freq.alert

Frequency Alert

Alert thresholds. Refer to user guide.

boolean

io1.duty.enable

Measure Duty Cycle

Enables duty cycle measurement on terminal.

string

io1.duty.cal

Duty Cycle Calibration

Calibration parameters. Refer to user guide.

Percent

string

io1.duty.alert

Duty Cycle Alert

Alert thresholds. Refer to user guide.

boolean

io1.pulse.enable

Measure Pulse Count

Enables pulse count measurement on terminal.

string

io1.pulse.cal

Pulse Count Calibration

Calibration parameters. Refer to user guide.

Counts

string

io1.pulse.alert

Pulse Count Alert

Alert thresholds. Refer to user guide.

NOTE

io2 to io5

The io1 structure is repeated for io2 to io5

string

can1.name

Name

A name that is meaningful to the user.

integer

can1.interval

Interval

The number of base intervals after which the CAN module is turned on. Set to 0 to disable.

0 to 10000

integer

can1.nominal_baud

Nominal Baud Rate

Baud rate for CAN communication. Supported values are: 125, 250, 500, 1000

kbit/s

integer

can1.capture_time

Capture Time

The device will capture matching messages for this length of time.

Seconds

boolean

can1.tx_enable

TX Enable

Allows the device to transmit and acknowledge messages on the CAN bus.

string

can1.id_list

ID Capture List

List of IDs to be captured in HEX format, separated by a comma eg: 18FEE60A. Leave blank to capture all.

boolean

can1.send_data

Send Raw Data

Send all captured data in the standard data message. If unticked, data is only delivered to the scripting handler.

string

can2.name

Name

A name that is meaningful to the user.

integer

can2.interval

Interval

The number of base intervals after which the CAN module is turned on. Set to 0 to disable.

0 to 10000

integer

can2.nominal_baud

Nominal Baud Rate

Baud rate for CAN communication. Supported values are: 125, 250, 500, 1000

kbit/s

integer

can2.capture_time

Capture Time

The device will capture matching messages for this length of time.

Seconds

boolean

can2.tx_enable

TX Enable

Allows the device to transmit and acknowledge messages on the CAN bus.

string

can2.id_list

ID Capture List

List of IDs to be captured in HEX format, separated by a comma eg: 18FEE60A. Leave blank to capture all.

boolean

can2.send_data

Send Raw Data

Send all captured data in the standard data message. If unticked, data is only delivered to the scripting handler.

string

serial1.name

Name

A name for the input that is meaningful to the user.

integer

serial1.interval

Interval

The number of base intervals after which the serial port is turned on. Set to 0 to disable.

0 to 10000

preset

serial1.type

Type

The electrical interface type.

RS232,RS485

boolean

serial1.termination

Termination Resistor

This parameter enables the integrated termination resistor.

preset

serial1.mode

Mode

Describes how the serial port is to be handled. CAPTURE: serial data is captured between start and end characters. MODBUS: serial data is treated according to MODBUS RTU standard

Capture,Modbus,Scripted

integer

serial1.baud

Baud Rate

Baud rate for serial communication. Common values are: 4800, 9600, 19200, 38400, 57600, 115200

string

serial1.settings

Settings

A string describing the number of bytes: 7,8,9. Parity type: N(none), E(even), O(odd). Number of stop bits: 1 or 2. Typically: 8N1

boolean

serial1.powered

Powered by Output 1

Enabled this option if the serial/modbus device is powered from IO1. The serial/modbus capture starts after the IO1 measurement time and the IO1 measurement state is held until serial/modbus is complete.

string

serial1.capture.start

Start String

The serial port starts reading data when it detects these characters. Example: $GPGGA, serial data will be ignored until $GPGGA is received after which data will be captured. If nothing is specified, the serial port will capture all data until the timeout period is reached.

integer

serial1.capture.start_idle_time

Idle Time Before Start

For a valid start condition, there must be this amount of idle time before receiving serial data. Additionally, the captured data will restarted if the serial port is idle for this time. Set to 0 to disable.

0 to 60000

Milliseconds

string

serial1.capture.end

End String

Once capturing, if these characters are received, the serial port will stop capturing and will return to sleep. For binary data or escape sequences refer to the User Guide.

string

serial1.capture.request

Request String

This string will be sent when the serial port is first turned on. Use this function to request data from a remote module.

integer

serial1.capture.maxtime

Max Time

The device will wait this length of time for a valid capture.

Seconds

integer

serial1.capture.maxchars

Max Chars

Maximum number of characters to be captured before the serial port goes back to sleep.

string

serial1.capture.alert

Capture Alert

Raise an alert if the number of characters captured exceeds a threshold.

Characters

decimal

serial1.modbus.timeout

Slave Timeout

How long to wait for a response from each slave device.

0 to 10

Seconds

integer

serial1.modbus.framedelay

Delay Between Reads

Delay between successive read commands.

10 to 10000

Milliseconds

string

mod1.name

Modbus Name

A meaningful name for the measurement.

string

mod1.settings

Modbus Settings

Modbus Settings String. Refer to user guide.

string

mod1.cal

Modbus Calibration

Calibration parameters. Refer to user guide.

string

mod1.alert

Alerts

Alert thresholds. Refer to user guide.

NOTE

mod2 to mod50

The mod1 structure is repeated for mod2 to mod50

boolean

endpoint.config_to_portal

Configuration via Senquip Portal

Enables connection to Senquip Portal for remote configuration.

boolean

endpoint.data_to_portal

Send Data to Senquip Portal

Enables data from the device to be sent to the Senquip Portal.

boolean

endpoint.buffer_enable

Offline Buffer

Save data if device is offline, and send when network is available.

boolean

endpoint.addtimedate

Add Formatted Time

This option adds a human readable time/date format to the data output.

boolean

endpoint.network_report

Report Network Info

Add network details and signal strength to data output.

boolean

endpoint.sq_data_format

Use Senquip Data Format

Automatically send the Senquip data message to the endpoints below (does not affect data to Senquip Portal). If unchecked, no data is sent and the device script should create messages.

boolean

endpoint.udp.enable

UDP

Enables sending data over UDP to specified address below.

string

endpoint.udp.address

UDP Address

Address and port to send data to.

boolean

endpoint.http.enable

HTTP POST

Enables sending data via a HTTP POST request to address below.

string

endpoint.http.address

HTTP Address

Destination address and port for HTTP POST request.

boolean

endpoint.mqtt.enable

MQTT

Enables sending data to a MQTT broker.

string

endpoint.mqtt.server

Broker Address

MQTT Broker Address and Port.

string

endpoint.mqtt.client_id

Client ID

Client ID to send to the broker. Defaults to device.id if left blank.

string

endpoint.mqtt.data_topic

Data Topic

Topic for Senquip formatted data messages. A single ‘?’ character will be replaced with the Device ID. Leave blank for ‘?/data’.

string

endpoint.mqtt.user

Username

Username for MQTT authentication with username/password. (Optional)

string

endpoint.mqtt.pass

Password

Password for MQTT authentication with username/password. (Optional)

string

endpoint.mqtt.azure_cs

Azure Connection String

For SAS authentication to Azure IotHub only. Not supported on SFW001.

decimal

script.num1

Custom Number 1

Custom number setting 1

decimal

script.num2

Custom Number 2

Custom number setting 2

decimal

script.num3

Custom Number 3

Custom number setting 3

decimal

script.num4

Custom Number 4

Custom number setting 4

decimal

script.num5

Custom Number 5

Custom number setting 5

decimal

script.num6

Custom Number 6

Custom number setting 6

decimal

script.num7

Custom Number 7

Custom number setting 7

decimal

script.num8

Custom Number 8

Custom number setting 8

decimal

script.num9

Custom Number 9

Custom number setting 9

decimal

script.num10

Custom Number 10

Custom number setting 10

string

script.str1

Custom String 1

Custom string setting 1

string

script.str2

Custom String 2

Custom string setting 2

string

script.str3

Custom String 3

Custom string setting 3

string

script.str4

Custom String 4

Custom string setting 4

string

script.str5

Custom String 5

Custom string setting 5

string

script.str6

Custom String 6

Custom string setting 6

string

script.str7

Custom String 7

Custom string setting 7

string

script.str8

Custom String 8

Custom string setting 8

string

script.str9

Custom String 9

Custom string setting 9

string

script.str10

Custom String 10

Custom string setting 10