A single reading from a live sensor (e.g. temperature, humidity), published via Nebra.
Record Key
tid
Timestamp-based ID
Properties
createdAt
string
datetime
Required
ATProto-compatible UTC timestamp — use nebra.get_atproto_utc_time().
deviceId
string
Optional
Free-form identifier for which physical device produced this — e.g. which Raspberry Pi.
maxLength: 128 bytessensorType
string
Required
What kind of sensor this reading came from, e.g. 'temperature', 'humidity'.
maxLength: 64 bytesunit
string
Required
Unit for value, e.g. 'celsius', 'percent'.
maxLength: 32 bytesvalue
integer
Required
The reading, scaled to an integer by valueScale (AT Protocol records can't hold floats) — real value = value / valueScale.
valueScale
integer
Required
Divide `value` by this to recover the real-world reading, e.g. value=238, valueScale=10 means 23.8.
View raw schema
{
"description": "A single reading from a live sensor (e.g. temperature, humidity), published via Nebra.",
"key": "tid",
"record": {
"properties": {
"createdAt": {
"description": "ATProto-compatible UTC timestamp — use nebra.get_atproto_utc_time().",
"format": "datetime",
"type": "string"
},
"deviceId": {
"description": "Free-form identifier for which physical device produced this — e.g. which Raspberry Pi.",
"maxLength": 128,
"type": "string"
},
"sensorType": {
"description": "What kind of sensor this reading came from, e.g. 'temperature', 'humidity'.",
"maxLength": 64,
"type": "string"
},
"unit": {
"description": "Unit for value, e.g. 'celsius', 'percent'.",
"maxLength": 32,
"type": "string"
},
"value": {
"description": "The reading, scaled to an integer by valueScale (AT Protocol records can't hold floats) — real value = value / valueScale.",
"type": "integer"
},
"valueScale": {
"description": "Divide `value` by this to recover the real-world reading, e.g. value=238, valueScale=10 means 23.8.",
"type": "integer"
}
},
"required": [
"sensorType",
"value",
"valueScale",
"unit",
"createdAt"
],
"type": "object"
},
"type": "record"
}