PrintHeritage provides a guided, multi-step wizard for attaching time-series sensor data to any project. You can upload a CSV file, upload an Excel spreadsheet (XLSX), or connect to an external REST API endpoint. The wizard walks you through sensor configuration, source selection, column mapping, and a live chart preview before the data is committed to the project.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/joaomonteir0/printheritage/llms.txt
Use this file to discover all available pages before exploring further.
Sensor Configuration (NewSensorModal)
Before selecting a data source you must first define the sensor that will own the dataset. This is a three-step process:Name and Description
Provide a sensor name (required) and an optional free-text description that describes the sensor and its physical location within the structure.
Units and Measurement Type
Choose a sensor type from the three available options — Temperature, Humidity, or Vibration. Selecting a type auto-populates the unit field:
You can override the unit by typing directly into the unit field.
| Sensor Type | Default Unit |
|---|---|
| Temperature | °C |
| Humidity | % |
| Vibration | mm/s |
The sensor configuration you supply in this wizard is stored as dataset
metadata alongside the time-series data. It is used by the Monitoring Dashboard to set the initial chart type and y-axis unit label.Data Source Selection (AddDataResourceModal)
Once sensor metadata is confirmed, the Add Data Resource wizard opens. This wizard also progresses through numbered steps that vary slightly depending on the source type chosen.Choosing a Source Type
- CSV File
- XLSX File
- External API
Select Ficheiro CSV to upload a comma-separated values file from your local machine. The file is parsed in the browser using PapaParse with The wizard auto-detects the time column and pre-selects all remaining columns for import. You can deselect any columns you do not want to include.
header: true and skipEmptyLines: true, so every row becomes a keyed object.Required format: The first row must be a header row. One column must be a date/time column identified by a header name containing date, data, timestamp, tempo, or time (case-insensitive). All other columns are treated as numeric sensor readings.Column Mapping (CSV and XLSX only)
After uploading a file, a column-selection step is shown before the preview:Select the Time Column (X Axis)
Choose which column holds the timestamps. The wizard auto-detects this based on the column name but you can override the selection via a dropdown. This becomes the
timeColumn field in the stored metadata.Date Parsing
Raw date values are normalised by theparseDate utility before storage. Supported input formats include:
- ISO 8601 strings (e.g.
2024-01-01T00:00:00Z) DD/MM/YY HH:mmandDD/MM/YYYY HH:mmslash-delimited formats- Any string parseable by the JavaScript
Dateconstructor
Preview Step
After column mapping (or immediately after API configuration for API sources), the wizard enters a preview phase:- A 2.5-second processing animation simulates data ingestion.
- On completion, a summary card shows the source filename (or API de Dados) and the total number of parsed entries.
- You can click Pré-visualizar gráfico to open an embedded ApexCharts chart rendered from up to 100 sample rows.
- If the sensor has multiple supported chart types, you can switch the default chart type from this screen — the change is persisted to the sensor metadata before final submission.
Saving the Dataset
Clicking Concluir on the preview step sends the following request:null.