@@ -83,6 +83,8 @@ PWA ดูข้อมูลระบบโซลาร์เซลล์แบ
8383| ` GET /api/device ` | ค่าเครื่อง (เฟส/PV/BMS) cache 60s · รับ ` ?station= ` |
8484| ` GET /api/weather ` | TMD/Open-Meteo + UV (cache 30 นาที) |
8585| ` GET /api/history?range=day\|month\|year ` | กราฟย้อนหลัง (D1 ก่อน → Deye) · รับ ` ?station= ` |
86+ | ` GET /api/forecast/accuracy?days= ` | คาดพรุ่งนี้ (จาก ` forecast_log ` ) vs ` daily.gen ` ของวันที่จบแล้ว — คะแนน 100−MAPE, bias, MAE + แถว |
87+ | ` GET /api/battery/health?days= ` | ความจุใช้ได้จริงจากช่วงคายประจุ (samples), SOH = ÷ (Ah × V ที่วัดกลาง SOC), รอบ, DoD · cache 6 ชม. |
8688| ` GET /api/device/history?sn=&days=&keys= ` | แนวโน้มค่าเครื่องจาก ` device_samples ` (bucket ≤240 จุด/คีย์, memo 10 นาที) |
8789| ` GET /api/export?range=day\|month\|year\|all&date= ` | CSV จาก D1 ของสถานีหลัก (BOM, attachment) — สำหรับสคริปต์ · ปุ่มในแอปสร้าง CSV ฝั่ง client จากข้อมูลที่แสดงอยู่ (ทุกสถานี) |
8890| ` GET /api/settings ` / ` POST /api/settings ` | ค่าไฟ/ขายคืน/ทุน/CO₂ (whitelist) |
@@ -106,6 +108,7 @@ middleware: `ensureSchema` → auth gate (`/api/*` ยกเว้น login/sess
106108- ` samples(ts, gen_power, use_power, grid_power, batt_power, soc, *_today, gen_total) ` — snapshot ทุก 5 นาที · ** prune >90 วัน** (` SAMPLES_RETENTION_DAYS ` ) — backfill/self-heal เขียนด้วย DO NOTHING (แถวจาก cron ชนะ)
107109- ` device_samples(sn, ts, data) ` — measure point ทั้งหมดของทุก inverter ทุก ~ 15 นาที · ** prune >180 วัน** (` DEVICE_RETENTION_DAYS ` ) — อ่านโดย ` /api/device/history `
108110- ` daily(day, gen, use, buy, sell, charge, discharge, peak_power, peak_ts) ` — สรุปรายวัน เก็บถาวร · peak ขยับขึ้นเท่านั้น
111+ - ` forecast_log(day, predicted, cond, psh, cap_kw, made_at) ` (schema v3) — "คาดพรุ่งนี้" ตัวสุดท้ายของแต่ละวัน เขียนทับทุก tick; ประเมินเทียบ ` daily.gen ` เมื่อวันจบ → ความแม่นยำ + เรียนรู้ค่าเมฆ (` lib/skylearn.ts ` : median ต่อ cond ถ่วงด้วย prior K=3)
109112
110113---
111114
145148 lib/ api.ts (ApiError + ?station=) format.ts weather.ts analysis.ts device.ts
146149 diagnostics.ts (สุขภาพเครื่อง — config-or-silent) forecast.ts (PSH จาก sun) useCapacity.ts (kWp หรือ peakPower)
147150 economics.ts (savings signed + savingsLabel, co2Of(settings)) settings.ts (rate/sellRate/systemCost/co2Factor)
151+ calib.ts (kWp จากวันแดดดี) skylearn.ts (ค่าเมฆเรียนรู้ + accuracy) battery.ts (SOH/รอบ/DoD) season.ts (ปี/ฤดู/คาดทั้งปี) peak.ts
148152 config.ts (ค่าเริ่มต้น) ui.ts (glass/plate tokens) icons.tsx wxicon.tsx (Meteocons) haptics.ts scenarios.ts brand.ts
149153 components/ Splash PinGate Header BottomNav StationSwitcher PullToRefresh DevPanel InstallPrompt
150154 HomeView TodayView WeatherView HistoryView (compare + CSV) LifetimeView DeviceView (alarm log + DeviceTrends)
0 commit comments