Skip to main content
Unplanned equipment failures in energy infrastructure are costly — both financially and in terms of service reliability. Transformers, turbines, switchgear, and distribution lines degrade over time, but the warning signs are often buried in SCADA readings and IoT sensor streams that nobody monitors continuously. By the time a failure occurs, the damage is done: outages, safety incidents, and expensive emergency repairs. Wayak connects your SCADA and IoT data, computes equipment health scores using Python-based degradation models in a playbook, and delivers real-time alerts when assets trend toward failure. An agent gives maintenance engineers instant access to any asset’s condition history, trend analysis, and recommended maintenance actions.

What you need

Data sources

  • SCADA system — real-time and historical sensor readings (temperature, load, oil levels, vibration), alarm events, and equipment status
  • IoT platform — supplementary sensor data from field-deployed devices (ambient temperature, humidity, corrosion sensors)
  • CMMS (maintenance system) — maintenance work orders, service history, inspection records, and spare parts inventory

Knowledge spaces

  • Equipment maintenance manuals — upload manufacturer specifications, recommended maintenance intervals, and failure mode documentation for each asset class
  • Operating procedures — upload condition-based maintenance policies, criticality rankings, and escalation protocols
Semantic layer: Define these in your ontology before setting up the agent.
ComponentNameDefinition
ObjectAssetMaps to the assets table in the CMMS. Represents a physical piece of equipment (transformer, breaker, turbine)
ObjectSensor ReadingMaps to readings in the SCADA system. Represents a timestamped measurement from a single sensor point
MetricHealth ScoreComposite score (0-100) calculated from normalized sensor readings weighted by criticality, where 100 is perfect condition
MetricMean Time Between Failures (MTBF)Average operating hours between failure events for an asset class, computed from maintenance history
DimensionAsset TypeCategorizes assets by equipment class (transformer, circuit breaker, turbine, distribution line)
DimensionCriticalityRanks assets as critical, high, medium, or low based on service impact and replacement cost
See building a semantic layer for a step-by-step guide.

Agent setup

1

Create the agent

Go to Agent SpaceNew agent.
FieldValue
NameAsset Health Analyst
RoleEquipment Condition Monitoring Specialist
GoalMonitor equipment health scores, identify degradation trends, provide maintenance recommendations, and answer ad-hoc queries about asset condition
2

Set the description

You are an equipment condition monitoring specialist who interprets SCADA and IoT sensor data to assess asset health. You track degradation trends, compare current readings against manufacturer thresholds, and recommend maintenance actions based on condition-based policies. You prioritize assets by criticality and service impact. You present findings with supporting sensor data and reference maintenance manuals when recommending interventions. You never dispatch crews — you provide the evidence maintenance planners need.
3

Scope data access

Grant access to:
  • SCADA system (sensor readings, alarm events, equipment status)
  • IoT platform (supplementary sensor data)
  • CMMS (work orders, service history, inspection records)
  • Equipment maintenance manuals knowledge space
  • Operating procedures knowledge space
  • Asset and Sensor Reading objects, Health Score and MTBF metrics
4

Add skills

Trigger: User asks the agent for the condition of a specific asset or asset group.
  1. Retrieve the asset record from the CMMS, including type, criticality, installation date, and last service date.
  2. Pull the latest sensor readings from the SCADA system (temperature, load, oil level, vibration as applicable).
  3. Compute the current health score using the weighted composite formula from the semantic layer.
  4. Compare current readings against manufacturer thresholds from the equipment maintenance manuals knowledge space.
  5. Pull the asset’s maintenance history and calculate MTBF.
  6. Return a condition report with the health score, individual sensor readings vs. thresholds, trend direction, and recommended next action.
Trigger: User asks about the trend or trajectory of an asset’s condition.
  1. Retrieve 90 days of sensor reading history for the specified asset from the SCADA system.
  2. Calculate the rate of change for each key sensor parameter (e.g., temperature rising at 0.5 degrees per week).
  3. Project the time to threshold breach at the current degradation rate.
  4. Compare the degradation pattern against known failure modes from the equipment maintenance manuals.
  5. Return a trend analysis with the projected failure window, confidence level, and recommended preventive action with timing.
Trigger: User asks for a summary of health across all assets or a specific asset class.
  1. Query the CMMS for all assets of the specified type or in the specified region.
  2. Pull the latest health scores from the most recent scan.
  3. Rank assets from worst to best health score.
  4. Identify assets with scores below the maintenance threshold or trending downward.
  5. Return a fleet summary table with asset name, location, health score, trend, and priority ranking.

Automation

Playbook: Daily asset health scan

1

Set the trigger

Set the trigger to Schedule — Daily at 5:00 AM, before the day shift begins, to give maintenance planners an updated view of asset condition.
2

Build the workflow

The workflow computes health scores for all monitored assets and alerts on degradation:
  1. Query all active assets from the CMMS with their criticality level and sensor point mappings.
  2. Query the latest 24 hours of sensor readings from the SCADA system and IoT platform for each asset.
  3. Python code block — compute the health score for each asset. The code normalizes each sensor reading against its manufacturer-specified operating range, applies criticality-based weights, and produces a composite score on a 0-100 scale. Assets scoring below 60 are flagged as “degraded,” and those below 40 as “critical.” The code also calculates the 7-day trend (improving, stable, or declining).
The health score computation step uses a Python code block to normalize sensor readings, apply weighted scoring, and detect degradation trends. You can customize the scoring thresholds, sensor weights, and trend detection window.
  1. Condition — if any asset is flagged as “critical,” generate an immediate alert with the asset details and recommended maintenance action.
  2. Loop — for each “degraded” asset, check the CMMS for any open work orders. If no work order exists, create a new maintenance request.
  3. Delivery — distribute the daily health report.
3

Configure delivery

  • Email — send the full daily health report to the maintenance planning team
  • Slack — post critical asset alerts to #maintenance-urgent immediately
  • Email escalation — if any critical-criticality asset scores below 40, notify the Operations Director
4

Test and activate

Click Run now to test with live data, then toggle to Active.

What’s next

Demand forecasting

Forecast energy demand using historical meter data and weather patterns for better generation planning.

All Energy & Utilities use cases

See the full list.