Claude Code Plugins

Community-maintained marketplace

Feedback

eptr2-generation-tracking

@majiayu000/claude-skill-registry
3
0

Query Turkish electricity generation data including real-time generation by resource type, plant-level production, UEVM (settlement generation/Uzlaştırmaya Esas Veriş Miktarı), and generation forecasts. Use when asking about power generation, renewable energy output, plant production, solar/wind generation, or UEVM data in Turkey. Triggers on: elektrik üretimi, santral üretimi, rüzgar üretimi, güneş üretimi, UEVM, generation by fuel type.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md


name: eptr2-generation-tracking description: Query Turkish electricity generation data including real-time generation by resource type, plant-level production, UEVM (settlement generation/Uzlaştırmaya Esas Veriş Miktarı), and generation forecasts. Use when asking about power generation, renewable energy output, plant production, solar/wind generation, or UEVM data in Turkey. Triggers on: elektrik üretimi, santral üretimi, rüzgar üretimi, güneş üretimi, UEVM, generation by fuel type. allowed-tools: Read, Bash(python:*)

Turkish Electricity Generation Tracking with eptr2

Overview

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

Quick Start

from eptr2 import EPTR2

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

# Get real-time generation by resource type
rt_gen = eptr.call("rt-generation", start_date="2024-07-29", end_date="2024-07-29")
print(rt_gen)

Available Generation Endpoints

Call Description (EN) Description (TR)
rt-generation Real-time generation by resource type Kaynak Bazlı Gerçek Zamanlı Üretim
rt-gen Real-time generation (same as above) Gerçek Zamanlı Üretim
uevm Settlement generation (UEVM) Uzlaştırmaya Esas Veriş Miktarı
dpp / kgup Daily Production Plan Kesinleşmiş Günlük Üretim Planı (KGÜP)
rt-gen-org Real-time generation by organization Organizasyon Bazlı GZÜ
uevm-pp UEVM by power plant Santral Bazlı UEVM

Resource Types (Fuel Types)

Turkish English Code
Doğalgaz Natural Gas naturalGas
Kömür Coal coal
Linyit Lignite lignite
İthal Kömür Imported Coal importedCoal
Rüzgar Wind wind
Güneş Solar sun
Hidroelektrik Hydro river, dammedHydro
Biyokütle Biomass biomass
Jeotermal Geothermal geothermal
Nükleer Nuclear nuclear

Composite Function for Generation Data

from eptr2.composite import get_hourly_production_data

df = get_hourly_production_data(
    eptr,
    start_date="2024-07-29",
    end_date="2024-07-29",
    verbose=True
)

Output Columns

Columns include _rt (real-time) and _uevm (settlement) suffixes:

Column Description
dt Datetime in ISO format
naturalGas_rt Natural gas real-time generation
wind_rt Wind real-time generation
sun_rt Solar real-time generation
total_rt Total real-time generation
naturalGas_uevm Natural gas settlement generation
total_uevm Total settlement generation
contract Contract symbol

Common Use Cases

1. Total Generation Mix

rt_gen = eptr.call("rt-generation", start_date="2024-07-15", end_date="2024-07-15")

# Sum by resource type
fuel_mix = rt_gen.drop(columns=['date', 'hour']).sum()
total = fuel_mix.sum()

print("Generation Mix (July 15, 2024):")
for fuel, gen in fuel_mix.items():
    pct = (gen / total) * 100
    print(f"  {fuel}: {gen:,.0f} MWh ({pct:.1f}%)")

2. Renewable Energy Share

rt_gen = eptr.call("rt-generation", start_date="2024-07-15", end_date="2024-07-15")

# Define renewable columns
renewables = ['wind', 'sun', 'river', 'dammedHydro', 'geothermal', 'biomass']
renewable_cols = [c for c in rt_gen.columns if any(r in c.lower() for r in renewables)]

rt_gen['renewable'] = rt_gen[renewable_cols].sum(axis=1)
rt_gen['total'] = rt_gen.drop(columns=['date', 'hour']).sum(axis=1)
rt_gen['renewable_share'] = (rt_gen['renewable'] / rt_gen['total']) * 100

print(f"Average Renewable Share: {rt_gen['renewable_share'].mean():.1f}%")

3. Plant-Specific Generation

from eptr2.composite import get_hourly_production_data

# Example: Atatürk Dam (HES)
df = get_hourly_production_data(
    eptr,
    start_date="2024-07-15",
    end_date="2024-07-15",
    rt_pp_id=641,    # Real-time ID for Atatürk HES
    uevm_pp_id=142   # UEVM ID for Atatürk HES
)

print(f"Atatürk Dam Daily Generation: {df['total_rt'].sum():,.0f} MWh")

4. Production Plan vs Actual

from eptr2.composite import get_hourly_production_plan_data

df = get_hourly_production_plan_data(
    eptr,
    start_date="2024-07-15",
    end_date="2024-07-15",
    org_id=195,      # ELEKTRİK ÜRETİM AŞ
    uevcb_id=733     # ATATÜRK HES DB
)

# Compare KGUP (plan) with actual

Understanding Generation Data Types

Real-Time Generation (GZÜ)

  • What: Measured generation in near real-time
  • When: Available ~15 minutes after each hour
  • Use: Monitoring, market tracking

UEVM (Uzlaştırmaya Esas Veriş Miktarı)

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

KGÜP (Kesinleşmiş Günlük Üretim Planı)

  • What: Finalized daily production plan
  • When: Published day-ahead
  • Use: Market planning, deviation analysis

Date Format

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

Authentication

Set credentials in .env file:

EPTR_USERNAME=your_email@example.com
EPTR_PASSWORD=your_password

For More Details