Hybrid Track: Monitor Without Replacing

You have meters. You have a BMS. Now add governance.


What You'll Achieve

By the end of this track:

  • Unified consumption view across all meters and sources
  • Governed queries for cost allocation and sustainability
  • Full audit trail of every report and insight
  • MCP connection for AI-powered analysis

All without touching your existing metering infrastructure.


Phase 1: Connect Your Data

Step 1.1: Create IoT Hub Connection

Connect your existing meter data to OpenIndustrial.

Option A: Using the UI

  1. Open your workspace
  2. Drag a Connection node from the Node Bank onto your canvas
  3. Click the node to open the Inspector
  4. In Settings, configure for Azure IoT Hub
  5. Enter your connection string
  6. Commit your changes (click the save icon in the top-left)

Option B: Ask Azi

Step 1.2: Common Energy Data Sources

SourceProtocolOI Connection
Smart metersModbus/MQTTIoT Hub
BMS (Building Management)BACnet via EdgeIoT Hub
Utility feedsAPI/CSVDatabase
SubmetersMQTTIoT Hub
Thinking Tip:

Start with your main building meter. You can add submeters later without changing your queries.


Phase 2: Create Consumption Surfaces

Surfaces organize your energy data for efficient querying.

Step 2.1: Create Building Surface

Ask Azi:

"Create a surface for building energy monitoring that includes electrical, gas, and water meters."

Azi proposes:

  • Surface name: Building-Energy
  • Nodes: ElectricMain, GasMeter, WaterMeter
  • Description: Main building utility consumption

Review and approve.

Step 2.2: Create Line-Level Surfaces

For granular allocation, create surfaces per production area:

SurfaceNodesPurpose
Production-Line-1Line1Electric, Line1CompressedLine-specific consumption
HVAC-SystemsChillerPower, AHU1, AHU2Building systems
LightingLightingZone1, LightingZone2Area-specific lighting

Each surface becomes a governed scope. Queries within a surface inherit its permissions and audit context.


Phase 3: Build Cost Allocation Queries with Azi

This is where governance delivers value. Every query is tracked and auditable.

Step 3.1: Total Consumption Query

Ask Azi:

"Create a warm query that calculates total electricity consumption by day for the last 30 days."

Azi proposes:

EnergyData
| where MeterType == "Electric"
| where Timestamp > ago(30d)
| summarize TotalKWh = sum(kWh), PeakKW = max(kW) by bin(Timestamp, 1d)
| order by Timestamp asc

Review, approve, save.

Step 3.2: Cost Allocation by Area

Ask Azi:

"Build a query that allocates electricity cost to each production line based on consumption."

Azi proposes:

EnergyData
| where MeterType == "Electric"
| where Timestamp > ago(1d)
| summarize Consumption = sum(kWh) by Area
| extend CostPerKWh = 0.12  // Update with your rate
| extend AllocatedCost = Consumption * CostPerKWh
| order by AllocatedCost desc

Step 3.3: Peak Demand Analysis

Ask Azi:

"Create a query that identifies our top 10 peak demand periods in the last month."

Azi proposes:

EnergyData
| where MeterType == "Electric"
| where Timestamp > ago(30d)
| summarize PeakKW = max(kW), Hour = bin(Timestamp, 1h) by bin(Timestamp, 1h)
| top 10 by PeakKW desc
| project Hour, PeakKW, DayOfWeek = dayofweek(Hour)

Phase 4: Access Your APIs

Every warm query gets a REST API endpoint for integration.

Step 4.1: Find Your Endpoint

  1. Open the APIs menu in the top bar
  2. Select Warm Query Manager
  3. Choose your warm query from the dropdown
  4. Copy the endpoint URL and code examples

Step 4.2: Integrate with Your Systems

IntegrationUse Case
ERPMonthly cost allocation posting
DashboardReal-time consumption display
Sustainability platformAutomated emissions reporting
AlertingPeak demand notifications

Step 4.3: Example cURL

curl -X GET 'https://www.openindustrial.co/api/workspaces/explorer/warm-queries/daily-consumption' \
  -H 'Authorization: Bearer YOUR_TOKEN'

Phase 5: Connect MCP-Native AI

Enable AI-powered energy analysis on your governed data.

Step 5.1: Get MCP Configuration

  1. Open the APIs menu in the top bar
  2. Select API Keys to generate a JWT token
  3. Use the configuration below with your workspace ID and token

Step 5.2: Configure Claude Desktop

{
  "mcpServers": {
    "energy-data": {
      "command": "npx",
      "args": [
        "-y",
        "@openindustrial/mcp-server",
        "--workspace", "YOUR_WORKSPACE_ID",
        "--token", "YOUR_TOKEN"
      ]
    }
  }
}

Step 5.3: Ask Energy Questions

Now you can ask Claude:

"What's driving our electricity costs this month compared to last month?"

Claude queries your governed data and provides insights—all logged in the audit trail.

When AI identifies an optimization opportunity, you can trace exactly what data it used and what queries it ran.


What You Built

ComponentStatus
IoT Hub connection✓ Connected to meters
Consumption surfaces✓ Organized by building/line
Allocation queries✓ 3+ governed warm queries
API endpoints✓ REST access for integrations
MCP integration✓ Claude analyzing energy data

Category Metrics

MetricYour Result
Time to First Governed Query~30 minutes
Queries built3+
Audit coverage100%
AI connectedClaude Desktop

Before vs After

Before Control PlaneAfter Control Plane
"The meter showed this""Here's the query, who ran it, full trail"
Spreadsheet reportsGoverned, auditable queries
AI guessesAI insights with data lineage
Manual allocationAutomated, traceable allocation

Next Steps

If you want to...Go to...
Try the Full trackFull Track →
See query patternsPatterns →
Deep-dive on MCPMCP Guide →
Explore other journeysManufacturing →
On this page