Auto-publish 2026-09-06_15:52 (#826)
https://projects.knownelement.com/issues/826
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
---
|
||||
title: ERCOT Risk Intelligence
|
||||
visibility: private
|
||||
---
|
||||
|
||||
## Day-to-day ISO risk intelligence (ercot-brief.sh)
|
||||
|
||||
Founder ruling 2026-09-06: Base Power must remain the retail provider (no
|
||||
direct ERCOT interconnection). So the ISO's signals are RISK INTELLIGENCE,
|
||||
not an export market:
|
||||
|
||||
- `ercot-brief.sh` produces a daily risk level from LZ_SOUTH RTM (now +
|
||||
24h peak): GREEN (<$150/MWh) / WATCH (>=150) / ELEVATED (>=500) /
|
||||
CRITICAL (>=2000, adders/EEA territory).
|
||||
- Actions it emits: precharge battery (WATCH+), defer class-3 batch load
|
||||
(ELEVATED+), rtw_counterfactual_flag (RTM > $85).
|
||||
- On EEA-watch days expect Base to dispatch the fleet battery and expect
|
||||
RTW-plan counterfactual spikes — history TSV accumulates for trend stats.
|
||||
- Same source chain as the arbitrage tool (GRIDSTATUS_API_KEY /
|
||||
ERCOT_API_KEY / override — key registration still pending, see #826/#827).
|
||||
@@ -0,0 +1,67 @@
|
||||
---
|
||||
title: Solar Arbitrage
|
||||
visibility: private
|
||||
---
|
||||
|
||||
# ONCOR real-time arbitrage: sell to Base Power vs serve load
|
||||
|
||||
Status: v1 (2026-09-06, #826). Location: Pflugerville, Travis County, TX —
|
||||
ONCOR wires, ERCOT South load zone (`LZ_SOUTH`). Tool:
|
||||
`solar-analysis/oncor-arbitrage.sh`.
|
||||
|
||||
## The plan facts that shape everything
|
||||
|
||||
Base Power (verified 2026-09-06):
|
||||
- **Import: $[redacted — LLC-private] flat** (contract through Oct 2028)
|
||||
- **Export: $[redacted — LLC-private]/kWh flat** solar credit — Base does NOT pay real-time
|
||||
wholesale for exports
|
||||
|
||||
So on Base Power, **both sides of your meter are flat rates**. ERCOT's
|
||||
real-time market price (RTM, 15-min settlement point prices) does not change
|
||||
what you pay or earn today — it is a *counterfactual* and a *planning
|
||||
signal*:
|
||||
|
||||
## Decision rules (what the tool emits)
|
||||
|
||||
For each kWh of solar surplus, best action = max of:
|
||||
| option | value | when it wins |
|
||||
|---|---|---|
|
||||
| serve own/deferrable load | $[redacted — LLC-private] avoided | almost always ([redacted] > [redacted]) |
|
||||
| export to Base | $[redacted — LLC-private] flat | only when NO deferrable load exists |
|
||||
| export on an RTW plan* | RTM $/kWh | only when RTM > $[redacted — LLC-private] (rare spikes) |
|
||||
|
||||
*counterfactual — would require switching export credit to a real-time-
|
||||
wholesale retailer plan (e.g. Octopus-style RTW). Texas RTW export averages
|
||||
~2¢/kWh with rare spikes >$5/kWh — as a steady diet it LOSES to Base's flat
|
||||
[redacted]; it only wins if you can time exports into spikes (needs battery).
|
||||
|
||||
**Practical rules:**
|
||||
1. **Every surplus kWh has a home: load first.** HFNOC batch compute, site-2
|
||||
deferrable manufacturing, battery charging — all displace [redacted] power.
|
||||
This is why the KNELPerf class-3 batch gate keys on solar surplus.
|
||||
2. **Only truly surplus-after-load gets exported at [redacted].**
|
||||
3. **RTM spike alerts** (`rtw_would_beat_self_consume: true`, RTM >
|
||||
$85/MWh): under a future RTW plan you'd earn more exporting than
|
||||
self-consuming. Track how often this happens; if frequent and clustered,
|
||||
an RTW plan + battery beats Base's flat buyback for exports. Until then,
|
||||
staying on Base and self-consuming is strictly better.
|
||||
4. **Battery note**: Base's free battery — verify who controls dispatch
|
||||
(Base dispatches it for grid services; if they own the dispatch, do not
|
||||
count it in household arbitrage). Open question logged on #826.
|
||||
|
||||
## Price sources
|
||||
|
||||
Official API (api.ercot.com public API) and gridstatus.io both require a
|
||||
free API key; ercot.com's dashboard JSON is behind an Imperva bot-wall
|
||||
(tested 2026-09-06). Tool source precedence: `RTM_OVERRIDE` →
|
||||
`GRIDSTATUS_API_KEY` → `ERCOT_API_KEY` → cache file. Key registration is a
|
||||
founder action ( NeedsInput on #826).
|
||||
|
||||
## KNELPerf integration
|
||||
|
||||
`oncor-arbitrage.sh` emits `start_deferrable_load` + `rtw_would_beat_self_consume`
|
||||
as JSON — the batch launcher consumes this plus the HA solar-surplus sensor
|
||||
once the plant is live. Docs: KNELPerf docs/ARCHITECTURE.md §7-8.
|
||||
|
||||
> **Docs live on Discourse — this repo is the executable source of truth.**
|
||||
|
||||
Reference in New Issue
Block a user