Platform concepts
This page summarises how the Sensly platform treats data and time so you can configure Blueprints, Sensors, and Data Sources correctly.
Inputs and outputs
- Inputs are the raw values you send or ingest (e.g. from a data file or the Readings API). They are stored in the database.
- Outputs are values derived from inputs using Blueprint formulas (e.g. calibrations, aggregations). They are not stored; they are calculated when you view data in charts, dashboards, readings, and the API.
When using the API, you only send inputs when creating readings. If you request readings with outputs=true, the API computes outputs on the fly. This keeps storage predictable and lets you change formulas without rewriting history.
Overwrite behaviour
If two readings have the same datetime for the same sensor, the platform treats them as the same logical point in time. The later one overwrites the earlier one. When designing ingestion (e.g. FTP file parsing or API POSTs), avoid sending duplicate datetimes unless overwriting is what you want.
Time and timezones
- Project timezone (Project settings) controls how datetimes are displayed in the UI (charts, dashboards, readings).
- Data source timezone (Data Sources parser settings) defines the timezone of the incoming data in files. It can differ from the project timezone (e.g. files in UTC, project in Australia/Brisbane). The platform uses this to interpret and store datetimes correctly before applying the project timezone for display.
Set the data source timezone to match how datetimes are written in your files (or the device’s timezone). Mismatches can cause shifts in charts and aggregations.
Data flow (high level)
- Data sources (e.g. FTP file parsing) or the API supply inputs with datetimes.
- The platform stores those inputs and associates them with the correct sensor and blueprint.
- When you view data, outputs are calculated from stored inputs using the blueprint and sensor calibrations.
- Alarms, charts, dashboards, and exports all work on this stored-input + computed-output model.
For a step-by-step setup flow, see the Setup quick guide.