Motion sensor
Timestamped motion state with optional environmental readings and configuration actions.
https://hometruth.ai/schemas/motion-sensor · MotionSensor
Instances
No devices currently use this schema.
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://hometruth.ai/schemas/motion-sensor",
"title": "Motion sensor",
"description": "A motion sensor's latest observation and its optional configuration controls.",
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"state": {
"type": "object",
"additionalProperties": false,
"properties": {
"availability": {
"enum": [
"online",
"offline",
"degraded",
"unknown"
]
},
"motion": {
"type": "boolean"
},
"observedAt": {
"type": "string",
"format": "date-time"
},
"lastMotionAt": {
"type": "string",
"format": "date-time"
},
"sensitivityPercent": {
"type": "number",
"minimum": 0,
"maximum": 100
},
"clearAfterMs": {
"type": "integer",
"minimum": 0,
"maximum": 86400000
},
"illuminanceLux": {
"type": "number",
"minimum": 0
},
"batteryPercent": {
"type": "number",
"minimum": 0,
"maximum": 100
},
"tampered": {
"type": "boolean"
}
},
"required": [
"availability"
],
"dependentRequired": {
"motion": [
"observedAt"
],
"observedAt": [
"motion"
]
}
},
"actions": {
"type": "object",
"additionalProperties": false,
"properties": {
"setSensitivity": {
"type": "object",
"additionalProperties": false,
"properties": {
"minimumPercent": {
"type": "number",
"minimum": 0,
"maximum": 100
},
"maximumPercent": {
"type": "number",
"minimum": 0,
"maximum": 100
},
"stepPercent": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 100
}
},
"required": [
"minimumPercent",
"maximumPercent"
]
},
"setClearAfter": {
"type": "object",
"additionalProperties": false,
"properties": {
"minimumMs": {
"type": "integer",
"minimum": 0,
"maximum": 86400000
},
"maximumMs": {
"type": "integer",
"minimum": 0,
"maximum": 86400000
},
"stepMs": {
"type": "integer",
"minimum": 1,
"maximum": 86400000
}
},
"required": [
"minimumMs",
"maximumMs"
]
}
}
}
},
"required": [
"id",
"state"
]
}