normalize_telemetry
Translate raw sensor readings and machine data from any OEM's proprietary format into universal canonical FCS fields for semantic understanding and automation.
Instructions
Translate raw machine telemetry from any OEM's proprietary format into universal canonical FCS (FoundryNet Canonical Schema) data. Maps vendor-specific column names like "Spindle_Speed", "servo_load_x", "CoolantTemp", "FeedRateOverride" into standard fields like spindle_speed_rpm, axes.x_load_pct, sensor_readings.coolant_temp, feed_override_pct.
Accepts a data dict of {raw_field: value}. If machine_id (mint_id
or internal_id) is omitted but oem+model+serial are provided, silently
auto-provisions the machine identity (same effect as calling
identify_machine first).
Each call:
Returns canonical_data + a per-field mapping_id (use mapping_id with /v1/feedback/{mapping_id}/correct if a mapping is wrong)
Writes a row to forge_normalized_history (visible via query_machine_history)
Evaluates active triggers; the response includes a
triggers_firedarray if any condition matched. The actual webhooks fire async, so the array tells you what was triggered without blocking on remote latency.
USE WHEN: you have raw machine data — a CSV row, a sensor reading, an MES export, an alarm log line — and need to either (a) understand it semantically using canonical field names, (b) feed an automation that watches canonical fields, or (c) build up history for the machine.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | ||
| machine_id | No | ||
| oem | No | ||
| model | No | ||
| serial | No | ||
| site | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||