Configuration Commands
Overview
Thingsee BEAM is configured remotely through the Service API (GraphQL) — named commands with built-in validation and automatic encoding.
Configuration changes can also be requested via support@haltian.com if you do not have direct API access.
Service API Commands
The Service API provides named configuration commands that handle CBOR encoding, delivery, and validation automatically. Use these through the Service API (GraphQL).
Available Commands
| Command | Purpose | Parameters |
|---|---|---|
SetReportAndMeasurementInterval | Set reporting and measurement frequency | reportInterval, measurementInterval |
GetReportAndMeasurementInterval | Read current intervals | — |
SetDeviceConfiguration | Set sensor-specific parameters | rangingMode, rangingTimingBudget, rangingROI, accelerometer, temperature |
GetDeviceConfiguration | Read current device configuration | — |
SetReportAndMeasurementInterval
Configures how frequently the sensor takes measurements and reports data to the cloud.
Parameters:
| Parameter | Type | Range | Default | Description |
|---|---|---|---|---|
reportInterval | Integer | 600–86400 | 3600 | How often the sensor sends a report (seconds) |
measurementInterval | Integer | 10–86400 | 300 | How often the sensor measures distance (seconds) |
Example — 10-minute reporting with 1-minute measurement:
mutation {
setReportAndMeasurementInterval(
input: {
vendorSerial: "TSTF04TSC20204001"
reportInterval: 600
measurementInterval: 60
}
) {
success
}
}
GetReportAndMeasurementInterval
Reads the current reporting and measurement intervals.
query {
getReportAndMeasurementInterval(
vendorSerial: "TSTF04TSC20204001"
) {
reportInterval
measurementInterval
}
}
SetDeviceConfiguration
Configures sensor-specific parameters: ranging mode, timing budget, ROI, and optional sensors.
Parameters:
| Parameter | Type | Values | Default | Description |
|---|---|---|---|---|
rangingMode | Integer | 1=short, 2=long | 1 | Measurement range mode |
rangingTimingBudget | Integer | 15,20,33,50,100,200,500 (ms) | 50 | Accuracy vs power trade-off |
rangingROIX1 | Integer | 0–15 | 4 | ROI left boundary |
rangingROIY1 | Integer | 0–15 | 4 | ROI top boundary |
rangingROIX2 | Integer | 0–15 | 11 | ROI right boundary |
rangingROIY2 | Integer | 0–15 | 11 | ROI bottom boundary |
accelerometer | Integer | 0=disabled, 1=enabled | 0 | Optional tilt detection |
temperature | Integer | 0=disabled, 1=enabled | 0 | Optional temperature reporting |
Example — Switch to long range mode with wider beam:
mutation {
setDeviceConfiguration(
input: {
vendorSerial: "TSTF04TSC20204001"
rangingMode: 2
rangingROIX1: 2
rangingROIY1: 2
rangingROIX2: 13
rangingROIY2: 13
}
) {
success
}
}
GetDeviceConfiguration
Reads the current device-specific configuration.
query {
getDeviceConfiguration(
vendorSerial: "TSTF04TSC20204001"
) {
rangingMode
rangingTimingBudget
rangingROIX1
rangingROIY1
rangingROIX2
rangingROIY2
accelerometer
temperature
}
}
Quick Configuration Recipes
Dispenser Monitoring (Short Range, Frequent)
10-minute reporting, 1-minute measurement, narrow beam for small dispensers:
mutation {
setReportAndMeasurementInterval(
input: { vendorSerial: "TSTF04TSC20204001", reportInterval: 600, measurementInterval: 60 }
) { success }
}
mutation {
setDeviceConfiguration(
input: { vendorSerial: "TSTF04TSC20204001", rangingMode: 1, rangingROIX1: 6, rangingROIY1: 6, rangingROIX2: 9, rangingROIY2: 9 }
) { success }
}
Large Bin Monitoring (Long Range, Battery Optimized)
1-hour reporting, 15-minute measurement, wide beam for large bins:
mutation {
setReportAndMeasurementInterval(
input: { vendorSerial: "TSTF04TSC20204001", reportInterval: 3600, measurementInterval: 900 }
) { success }
}
mutation {
setDeviceConfiguration(
input: { vendorSerial: "TSTF04TSC20204001", rangingMode: 2, rangingROIX1: 2, rangingROIY1: 2, rangingROIX2: 13, rangingROIY2: 13 }
) { success }
}
Related Documentation
- Configuration - Parameter explanations and recommendations
- Data Output - Measurement data formats
- Service API - GraphQL API reference