Agent skill

eptr2-consumption-data

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/eptr2-consumption-data

SKILL.md

Turkish Electricity Consumption Data with eptr2

Overview

This skill helps you query electricity consumption and demand forecast data from Turkey's EPIAS Transparency Platform using the eptr2 Python library.

Quick Start

python
from eptr2 import EPTR2

# Initialize with environment variables
eptr = EPTR2(use_dotenv=True, recycle_tgt=True)

# Get real-time consumption
rt_cons = eptr.call("rt-cons", start_date="2024-07-29", end_date="2024-07-29")
print(rt_cons)

Available Consumption Endpoints

Call Description (EN) Description (TR)
rt-cons Real-time electricity consumption Gerçek Zamanlı Tüketim
uecm Settlement consumption (UECM) Uzlaştırmaya Esas Çekiş Miktarı
load-plan Demand forecast (Load Plan) Yük Tahmini / Yük Planı
rt-consumption Same as rt-cons Gerçek Zamanlı Tüketim

Composite Function for Consumption Analysis

The composite function combines load plan, UECM, and real-time consumption:

python
from eptr2.composite import get_hourly_consumption_and_forecast_data

df = get_hourly_consumption_and_forecast_data(
    eptr,
    start_date="2024-07-29",
    end_date="2024-07-29",
    verbose=True  # Print progress
)

Output Columns

Column Description
dt Datetime in ISO format (+03:00 timezone)
load_plan Demand forecast / load plan (MWh)
uecm Settlement consumption - UECM (MWh)
rt_cons Real-time consumption (MWh)
consumption Best available: UECM if available, otherwise real-time
contract Contract symbol (optional)

Understanding Consumption Data Types

Load Plan (Yük Planı)

  • What: Day-ahead demand forecast published by TEIAS
  • When: Available before delivery day
  • Use: Planning and forecasting

Real-Time Consumption (Gerçek Zamanlı Tüketim)

  • What: Actual measured consumption in near real-time
  • When: Available ~15 minutes after each hour
  • Use: Monitoring, real-time decisions

UECM (Uzlaştırmaya Esas Çekiş Miktarı)

  • What: Official settlement consumption after meter reconciliation
  • When: Available after settlement period (~T+10 days)
  • Use: Settlement, billing, final analysis

Common Use Cases

1. Compare Forecast vs Actual

python
from eptr2.composite import get_hourly_consumption_and_forecast_data

df = get_hourly_consumption_and_forecast_data(
    eptr,
    start_date="2024-07-15",
    end_date="2024-07-15"
)

# Calculate forecast error
df['forecast_error'] = df['consumption'] - df['load_plan']
df['forecast_error_pct'] = (df['forecast_error'] / df['load_plan']) * 100

print(f"Average Forecast Error: {df['forecast_error'].mean():.2f} MWh")
print(f"MAPE: {df['forecast_error_pct'].abs().mean():.2f}%")

2. Daily Consumption Pattern

python
import pandas as pd

df = get_hourly_consumption_and_forecast_data(
    eptr,
    start_date="2024-07-15",
    end_date="2024-07-15"
)

df['dt'] = pd.to_datetime(df['dt'])
df['hour'] = df['dt'].dt.hour

# Peak consumption hour
peak_hour = df.loc[df['consumption'].idxmax()]
print(f"Peak Hour: {peak_hour['hour']}:00")
print(f"Peak Consumption: {peak_hour['consumption']:.2f} MWh")

3. Monthly Consumption Trends

python
df = get_hourly_consumption_and_forecast_data(
    eptr,
    start_date="2024-07-01",
    end_date="2024-07-31"
)

total_consumption = df['consumption'].sum()
print(f"Total July Consumption: {total_consumption:,.0f} MWh")
print(f"Daily Average: {total_consumption / 31:,.0f} MWh")

Date Format

Always use ISO format: YYYY-MM-DD (e.g., "2024-07-29")

Data Availability Notes

Data Type Availability
Load Plan Published day-ahead (D-1 by 17:00)
Real-Time Available with ~15 min delay
UECM Available after settlement (T+10 days typically)

Authentication

Set credentials in .env file:

EPTR_USERNAME=your_email@example.com
EPTR_PASSWORD=your_password

For More Details

  • See examples.md for additional code examples

Expand your agent's capabilities with these related and highly-rated skills.

Didn't find tool you were looking for?

Be as detailed as possible for better results