Asoba Ona Terminal

Transform O&M from Cost Center to Profit Driver

The Business Problem: O&M Is Bleeding Your Returns

Solar asset managers face a critical challenge: maintenance costs are unpredictable, reactive, and destroying portfolio returns. Traditional O&M approaches result in:

The Solution: AI-Powered Predictive O&M Intelligence

What if your O&M operation could prevent faults before they occur, optimize every maintenance decision financially, and turn historical maintenance data into predictive intelligence?

Our O&M agentic workflow transforms years of maintenance reports, equipment data, and operational history into an intelligent system that:

📊 Learns from Your Historical Data

Train specialized AI models on your complete O&M corpus—maintenance reports, equipment manuals, warranty documents, and years of inverter performance data. This creates institutional knowledge that never leaves with departing staff.

🔍 Continuously Monitors for Early Warning Signs

Agentic systems pull real-time inverter data, systematically review performance patterns, and spot fault signatures weeks before equipment failure—not hours after.

⚡ Triggers Preventive Action

When fault patterns are detected, the system automatically diagnoses the issue, calculates financial impact, and determines optimal intervention timing to maximize energy recovery while minimizing costs.

đź’° Optimizes Every Dispatch Decision

Every maintenance action is financially justified with real-time calculation of Energy-at-Risk (EAR) versus dispatch costs, ensuring maximum ROI on every truck roll.

Business Value (Overview)

For a detailed breakdown of the financial and strategic value of Ona Terminal’s O&M solution, including ROI and impact metrics, please refer to the Example O&M Use Case page.

How It Works: From Data to Decisions

1. Historical Intelligence Training

Your O&M operation generates massive amounts of data that typically sits unused:

Business Value: This historical corpus becomes the foundation for predictive models that encode decades of operational experience into an always-available AI system.

2. Continuous Performance Intelligence

The system continuously ingests real-time data streams:

Business Value: Every data point is automatically analyzed against historical patterns to identify emerging fault signatures before they impact generation.

3. Predictive Fault Detection

AI models trained on your specific equipment and operating conditions identify fault patterns:

Business Value: Preventing equipment failures delivers 10-20x ROI compared to reactive repair costs and associated generation losses.

4. Economic Optimization Engine

Every maintenance decision is automatically optimized for maximum financial return:

Energy-at-Risk (EAR) Calculation:

EAR = ÎŁ (Expected Generation - Actual Generation) Ă— Market Price

Dispatch Optimization Score:

Dispatch Score = (EAR - Dispatch Cost - Parts Cost) Ă· Response Time

Business Value: This ensures every maintenance action maximizes energy recovery while minimizing operational costs, typically improving O&M ROI by 300-500%.

5. Intelligent Dispatch Coordination

The system automatically:

Business Value: Dispatch optimization reduces operational costs by 25-40% while improving response times and technician productivity.

Technology Foundation: MCP Agents Enable Business Intelligence

The business intelligence is powered by specialized AI agents working together through the Model Context Protocol (MCP):

Data Intelligence Agents

Predictive Analytics Agents

Economic Optimization Agents

Compliance Intelligence Agents

Dispatch Coordination Agents

MCP Technical Foundation: Each agent leverages proven APIs including ingestNowcastLoadData, trainForecaster, returnForecastingResults, project_economics, and marketPriceForecast—the same infrastructure supporting insurance underwriting and other financial applications.

Implementation: MCP Configuration & Model Setup

MCP Agent Configuration

Configure the O&M agent pack using the same MCP pattern established for insurance workflows:

Agent Catalog Setup

# O&M Agent Pack Configuration
om_agents:
  data_intake:
    description: "Streams SCADA/irradiance; standardizes intervals"
    apis:
      - ingestNowcastLoadData
      - interpolateData
      - weather
    
  forecasting_diagnostics:
    description: "Maintains weather-normalized baselines; detects deviations; tags fault class"
    apis:
      - trainForecaster
      - returnForecastingResults
    
  compliance:
    description: "Parses EPC/O&M/warranty, permits, site safety SOPs; emits dispatch constraints"
    knowledge_base: "policy_kb_rag"
    
  economics:
    description: "Translates deviations into energy-at-risk (EAR) and lost-revenue scenarios"
    apis:
      - electricityDispatch
      - project_economics
      - marketPriceForecast
    
  dispatch_orchestrator:
    description: "Decides whether/when/where to roll, selects crew, parts, window; emits CMMS work order"
    
  field_ops:
    description: "Tracks on-site progress; closes job with evidence; updates model state"

OODA Loop Integration

The O&M workflow reuses the existing OODA framework, simply replacing the “premium/claims” decision loop with “energy-at-risk → compliance gates → crew assignment”:

Custom Model Fine-Tuning for O&M

Historical Corpus Preparation

Train your specialized O&M model on facility-specific data:

# O&M Training Data Structure
training_corpus = {
    "maintenance_reports": [
        "Years of technician observations and repair histories",
        "Equipment failure patterns and resolution procedures",
        "Seasonal maintenance schedules and outcomes"
    ],
    "equipment_documentation": [
        "Inverter manuals and specifications", 
        "Warranty terms and coverage details",
        "Component replacement procedures"
    ],
    "performance_data": [
        "Historical inverter output and efficiency trends",
        "Environmental conditions and performance correlation",
        "Fault signatures and diagnostic indicators"
    ],
    "financial_records": [
        "Actual dispatch costs and labor rates",
        "Energy losses and revenue impact from past incidents",
        "Parts costs and procurement lead times"
    ]
}

Model Fine-Tuning Process

# Fine-tune Mistral model for O&M domain expertise
ona-terminal train --model mistral-7b \
  --domain om_dispatch \
  --corpus ./data/om_training_corpus \
  --specialization "solar_maintenance_optimization" \
  --output ./models/om_specialist_model

Policy Knowledge Base Configuration

Configure RAG/Bedrock integration for compliance intelligence:

# Policy KB for O&M Compliance
policy_knowledge_base:
  sources:
    - warranty_documents
    - epc_contracts  
    - oam_agreements
    - safety_procedures
    - vendor_requirements
  
  rag_configuration:
    embedding_model: "text-embedding-ada-002"
    chunk_size: 1000
    overlap: 200
    retrieval_method: "semantic_search"

API Integration Points

The O&M implementation leverages existing Ona Power Tools APIs with no new surface area required:

Time-series & Baseline APIs

Economics APIs (same gaps as insurance)

Note: The economics APIs should be exposed behind API Gateway exactly as planned for insurance - the O&M case benefits from the same missing services being deployed.

Agent Tool-Use Example

Here’s how the configured agents execute the O&M workflow:

# Sample Agent Execution Plan
def execute_om_workflow(asset_id, fault_trigger):
    # Data Intake Agent
    telemetry = ingestNowcastLoadData(asset_id)
    clean_data = interpolateData(telemetry)
    weather_context = weather(asset_id, timeframe="24h")
    
    # Forecasting & Diagnostics Agent  
    forecast = returnForecastingResults(asset_id)
    anomaly_classification = classify_fault_type(clean_data, forecast)
    
    # Compliance Agent
    warranty_constraints = extract_warranty_terms(asset_id)
    dispatch_gates = validate_compliance_requirements(anomaly_classification)
    
    # Economics Agent
    ear_calculation = calculate_energy_at_risk(forecast, market_prices)
    dispatch_costs = estimate_dispatch_expenses(asset_id, fault_type)
    
    # Dispatch Orchestrator
    dispatch_score = (ear_calculation - dispatch_costs) / estimated_eta
    if dispatch_score > threshold and dispatch_gates.all_clear():
        work_order = create_cmms_work_order(asset_id, anomaly_classification)
        return schedule_dispatch(work_order)

This approach mirrors the insurance “Agent Catalog (Default Pack)” and “Underwriting example” sequences—only the decision output changes from price/limits to dispatch.

Investment & Returns (Overview)

For a detailed analysis of the investment required and the projected financial returns, please refer to the Example O&M Use Case page.

Why This Matters Now (Overview)

For a discussion on the current market trends, competitive advantages, and strategic importance of adopting predictive O&M, please refer to the Example O&M Use Case page.

Getting Started (Overview)

For a comprehensive guide on getting started with Ona Terminal’s O&M solution, including immediate next steps, success requirements, and contact information, please refer to the Example O&M Use Case page.



Get Help & Stay Updated

Contact Support

For technical assistance, feature requests, or any other questions, please reach out to our dedicated support team.

Email Support Join Our Discord

Subscribe to Updates

* indicates required