Skip to content

Gercek ENTSO-E grid adapter'i ekle - #1

Open
emrefbulut wants to merge 2 commits into
mainfrom
feat/entsoe-live-adapter
Open

emrefbulut wants to merge 2 commits into
mainfrom
feat/entsoe-live-adapter

Conversation

@emrefbulut

Copy link
Copy Markdown
Owner

Sorun

grid-signal.ts dort saglayiciyi (EPIAS, ENTSO-E, Electricity Maps, Ember)
credentialEnvName, refreshCadence, granularity alanlariyla listeliyordu
ama hicbirinin adapter'i yoktu. adapterStatus: "source" sadece bir etiketti;
tek calisan yol deterministik demo uretecidi. README "official-data-ready" diyordu.

Yapilan

ENTSO-E Transparency Platform adapter'i gercekten yazildi:

Alan ENTSOE_TOKEN tanimliyken
loadMw olculen - A65, gerceklesen sistem yuku
marketPriceTlMwh olculen - A44, gun oncesi fiyatlar
renewableSharePct modellenen - tek seri olarak yayinlanmiyor
carbonIntensityGco2Kwh modellenen - tek seri olarak yayinlanmiyor

Yanit artik alan bazinda fieldSources tasiyor. Bu onemliydi: ENTSO-E son iki
alani yayinlamiyor, dolayisiyla "live" bir yaniti bastan asagi olculmus gibi
sunmak yanlis olurdu.

Token yoksa veya cagri duserse modellenen sinyal status: "fallback" ve gerekcesiyle
doner; endpoint sozlesmesi her durumda korunur. Saglayicinin henuz yayinlamadigi
saatler modellenen degerini korur.

Dogrulama

  • 19 yeni test (toplam 49, hepsi gecti)
  • typecheck, lint, build temiz
  • Testler agi hic kullanmiyor; fetch enjekte ediliyor

🤖 Generated with Claude Code

emrefbulut and others added 2 commits July 29, 2026 10:36
Onceden ENTSO-E, EPIAS, Electricity Maps ve Ember yalnizca metadata olarak
listeleniyordu: credentialEnvName, refreshCadence ve granularity alanlari
doluydu ama hicbirinin adapter'i yoktu. Tek calisan yol deterministik demo
uretecidi; README ise "official-data-ready" diyordu.

Artik ENTSO-E gercekten calisiyor:

- src/lib/energy/providers/entsoe.ts: A65 (gerceklesen sistem yuku) ve A44
  (gun oncesi fiyatlar) serilerini secilen Turkiye piyasa gunu icin ceker.
  Istanbul gununun UTC sinirlarini hesaplar, PT15M/PT30M cozunurluklerini
  saatlik kovalara ortalar, Acknowledgement_MarketDocument yanitlarini
  ustteki gercek sebeple hataya cevirir.
- ENTSOE_TOKEN tanimliysa /api/grid-signal?provider=entsoe olculen veriyle
  doner; tanimli degilse veya cagri duserse modellenen sinyal
  status: "fallback" ve gerekcesiyle doner. Endpoint sozlesmesi degismez.
- Saglayicinin henuz yayinlamadigi saatler modellenen degerini korur, boylece
  24 noktali seri hicbir zaman deliklenmez.

Dogruluk beyani:

ENTSO-E yenilenebilir payini ve karbon yogunlugunu tek bir seri olarak
yayinlamiyor; bu iki alan modellenmis kaliyor. Yanit artik alan bazinda
fieldSources tasiyor, boylece "live" bir yanit olculmemis bir degeri
olculmus gibi gostermiyor. adapterStatus da "local" | "live" | "source"
olarak ayrildi; yalnizca ENTSO-E "live".

19 yeni test: zaman/UTC esleme, istek URL'i, XML ayristirma, cozunurluk
ortalamasi, kismi basarisizlik ve birlestirme davranisi.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
- "Why It Matters", "Core Differentiator" ve "What It Proves" bolumleri buyuk
  olcude ayni seyi tekrar ediyordu; tek bir "The problem" bolumunde toplandi ve
  Readiness Passport ciktilarinin ne cevapladigi tabloya donusturuldu.
- 20 maddelik "Completed Features" listesi alan bazli bir yetenek tablosuna
  cevrildi; bir okuyucu artik neyin var oldugunu tarayarak gorebiliyor.
- Mimari diyagrami eklendi: motor katmani, API rotalari ve UI arasindaki
  iliski ile ENTSOE_TOKEN varken devreye giren canli yol.
- Ortam degiskenleri bolumu artik hangisinin gercekten bir sey degistirdigini
  soyluyor: yalnizca ENTSOE_TOKEN uygulanmis durumda, digerleri hedef.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant