Transforms Overview
Transforms convert OEM-native exports and API payloads into ODS-E-compliant records.
Why Transforms Exist
OEM telemetry differs in:
- field names and units
- timestamp formats and timezone behavior
- error-state coding systems
ODS-E transforms normalize those differences into one contract.
Transform Responsibilities
- Map source fields to ODS-E fields.
- Normalize timestamps to ISO 8601 timezone-explicit format.
- Convert energy units where necessary.
- Map OEM error codes to ODS-E
error_type. - Preserve source-specific detail in optional fields like
error_code_original.
Typical Flow
raw OEM payload -> transform(source=...) -> ODS-E records -> validate() -> downstream analytics
Reference Usage
from odse import transform
rows = transform("huawei_export.csv", source="huawei")
Operational Guidance
- Validate transformed output before storage or analysis.
- Version transform logic when OEM APIs change.
- Maintain fixture-based tests for each OEM connector.