Documentation Index
Fetch the complete documentation index at: https://inorbitinc.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Status definitions create rules that evaluate data source values and flag problems with robots. Statuses are visualized in Fleet dashboards with color-coded indicators and serve as the foundation for incident definitions.
When to Use
- Threshold monitoring: Flag when battery drops below 20%, temperature exceeds 70°C, etc.
- String matching: Detect error states from status strings
- Complex conditions: Combine multiple data sources with expressions for advanced logic
- Sustained conditions: Only alert when a condition persists for a minimum duration
Status Values
Each status can have three values, displayed in different colors:
| Value | Color | Description |
|---|
OK | Green | Normal operation |
WARNING | Yellow | Attention needed |
ERROR | Red | Critical issue |
Basic vs. Calculated Status
Basic status: The id must match an existing data source ID. Rules evaluate against that data source’s value directly.
Calculated status: Uses the calculated field to define a custom expression combining multiple data sources.
Rules
Rules are evaluated in order—the first matching rule determines the status value.
| Field | Type | Required | Description |
|---|
function | string | Yes | Comparison function (see below). |
params | array | Yes | Arguments for the function. |
sustainedForSeconds | number | No | Only trigger after condition persists for this duration. |
status | string | Yes | Status value: "OK", "WARNING", or "ERROR". |
Functions
| Function | Description | Example |
|---|
ABOVE | Value > param | params: [85] — triggers when value > 85 |
BELOW | Value < param | params: [20] — triggers when value < 20 |
EQUALS | Value == param | params: ["error"] — triggers when value equals “error” |
NOT_EQUALS | Value != param | params: ["ok"] — triggers when value is not “ok” |
CONTAINS | Value contains param | params: ["error"] — triggers when value contains “error” |
Examples
Basic: Battery Level
kind: StatusDefinition
apiVersion: v0.1
metadata:
scope: account/<accountId>
id: "batteryLevel" # Must match DataSourceDefinition id
spec:
rules:
- function: "BELOW"
params: [0.2]
status: "ERROR"
- function: "BELOW"
params: [0.4]
status: "WARNING"
Basic: Motor Temperature
kind: StatusDefinition
apiVersion: v0.1
metadata:
scope: account/<accountId>
id: "motorTemperature"
spec:
rules:
- function: "ABOVE"
params: [70]
status: "WARNING"
- function: "ABOVE"
params: [85]
sustainedForSeconds: 60
status: "ERROR"
Calculated: Docked But Not Charging
Combines multiple data sources to detect when a robot is docked but not charging:
kind: StatusDefinition
apiVersion: v0.1
metadata:
scope: account/<accountId>
id: "dockedNotCharging"
spec:
calculated:
label: "Charging issues"
expression: "getValue('dsDockedStatus') == 1 and not getValue('dsCharging')"
filter: "getValue('dsDockedStatus') != null"
rules:
- function: "EQUALS"
params: [true]
sustainedForSeconds: 30
status: "WARNING"
- function: "EQUALS"
params: [true]
sustainedForSeconds: 120
status: "ERROR"
Calculated: Navigation Stuck
Detects when a navigating robot has moved less than 2 meters in 60 seconds:
kind: StatusDefinition
apiVersion: v0.1
metadata:
scope: account/<accountId>
id: "unableToNavigate"
spec:
calculated:
label: "Navigation stuck"
expression: "(getValue('dsMission') in ['DELIVERY','RETURN-DOCK']) ? visitedAreaDiagonal(60) : null"
rules:
- function: "BELOW"
params: [2]
sustainedForSeconds: 600
status: "ERROR"
Calculated Fields
| Field | Type | Description |
|---|
label | string | Display label for this status. |
expression | string | Expression to compute the status input value. |
filter | string | Optional expression. If false, status is not updated. |
The number of calculated (advanced) status definitions may be limited in some editions. See the pricing page.