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 |