Unnamed Skill

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.

$ Instalar

git clone https://github.com/Tideseed/eptr2 /tmp/eptr2 && cp -r /tmp/eptr2/.claude/skills/eptr2-generation-tracking ~/.claude/skills/eptr2

// tip: Run this command in your terminal to install the skill


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

CallDescription (EN)Description (TR)
rt-generationReal-time generation by resource typeKaynak Bazlı Gerçek Zamanlı Üretim
rt-genReal-time generation (same as above)Gerçek Zamanlı Üretim
uevmSettlement generation (UEVM)Uzlaştırmaya Esas Veriş Miktarı
dpp / kgupDaily Production PlanKesinleşmiş Günlük Üretim Planı (KGÜP)
rt-gen-orgReal-time generation by organizationOrganizasyon Bazlı GZÜ
uevm-ppUEVM by power plantSantral Bazlı UEVM

Resource Types (Fuel Types)

TurkishEnglishCode
DoğalgazNatural GasnaturalGas
KömürCoalcoal
LinyitLignitelignite
İthal KömürImported CoalimportedCoal
RüzgarWindwind
GüneşSolarsun
HidroelektrikHydroriver, dammedHydro
BiyokütleBiomassbiomass
JeotermalGeothermalgeothermal
NükleerNuclearnuclear

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:

ColumnDescription
dtDatetime in ISO format
naturalGas_rtNatural gas real-time generation
wind_rtWind real-time generation
sun_rtSolar real-time generation
total_rtTotal real-time generation
naturalGas_uevmNatural gas settlement generation
total_uevmTotal settlement generation
contractContract 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