Commit 619f770
authored
Create script_v3
🔧 Core Improvements
• Forecast Shaping: Buy and sell forecasts are shaped separately with asymmetric uncertainty (buys drift upward, sells drift downward). This makes the model safer and more realistic.
• Planner-First Design: Dedicated charging planner (charging_plan_inline) ensures the battery can be filled before peak, with explicit feasibility checks.
⸻
⚡ Decision Logic Overhaul
• Priority-Based Rules: Cleaned up and flattened into four clear layers:
1. Emergencies (negative FiT, always-sell threshold).
2. Peak Prep (planner output + panic fill safeguard).
3. Trading (peak import lock, opportunistic sell, AM sell, curtailment avoidance).
4. Informational (missed opportunities).
➡️ This makes decisions more predictable and transparent.
⸻
📊 New “Reason” Methodology
• Powston decisions.reason() calls replace the old action/code strings.
• Each decision now logs action, reason, and context data in a structured way.
• Kiosk-friendly output: Instead of cryptic “Chg for Peak” or “Force Sell,” you now get clean human-readable snippets like:
• “Need 25 kWh; can get ~30 kWh before 3 pm.”
⸻
🏠 Smarter Behavior
• Charging starts earlier if waiting risks missing peak readiness.
• Daytime export is only allowed if the sell price beats upcoming buys + margin.
• Curtailment avoidance actively discharges if negative FiT is forecast and PV surplus would be wasted.
• Panic Fill remains in place (15:00–16:00 window).
⸻
❌ Dropped / Simplified
• Removed always_export_rrp wholesale RRP override — Powston now handles this natively.
• Overnight “opportunistic buy” logic was dropped in favor of simpler, safer day+peak planning.1 parent acacd09 commit 619f770
1 file changed
Lines changed: 401 additions & 0 deletions
0 commit comments