---
id: "VOLT-HOME-WP-092"
title: "Does evcc preserve native market intervals end to end?"
slug: "does-evcc-preserve-native-market-intervals-end-to-end"
description: "What the measured market-data contract proves about native 15-minute intervals—and what still must be verified in an evcc adapter."
published: "2026-08-30"
cluster: "Reliable automation and machine-readable energy evidence"
status: "measured"
evidence: "/research-data/home-papers/does-evcc-preserve-native-market-intervals-end-to-end.json"
figure: "/research-media/home-papers/does-evcc-preserve-native-market-intervals-end-to-end.webp"
figure_alt: "Chart for Does evcc preserve native market intervals end to end?: representative zone-days retaining native 15-minute intervals, shown as hourly only, native 15m."
source_ids:
  - "google-article"
  - "google-structured-data"
  - "google-scaled-content"
  - "entsoe-sdac"
  - "volt-architecture"
peer_reviewed: false
---

## Abstract

Native market intervals matter to home-energy control because four quarter-hour prices can differ even when their hourly average is unchanged. This paper asks whether an evcc delivery chain preserves that resolution end to end. The frozen evidence supports only the upstream half of that question: 100.0% of 3,340 representative zone-days in the analyzed market-data reconstruction contained at least one native 15-minute interval. The artifact reports no uncertainty interval for this estimand. The analysis did not run evcc, a charger, or an evcc adapter. It therefore cannot certify that evcc itself preserved every interval.

The result establishes a concrete contract for the missing downstream verification. An adapter should retain each interval’s UTC start, UTC end, price, resolution, zone, and source identity; it should reject overlapping, duplicated, out-of-order, or silently expanded values. If an interface cannot represent quarter-hour prices, the conversion to hourly data must be explicit, correctly weighted, and labeled as derived rather than native. A controller must not repeat one hourly value into four quarter-hours and describe the result as preservation. Production-origin price records underlie the representative days, while proposed adapter mutations are deterministic fault-injection checks, not measured repository tests. The defensible answer is thus conditional: the upstream contract preserved native intervals in the measured sample; end-to-end evcc preservation remains an adapter-level acceptance condition that must be demonstrated separately.

## Plain-language answer

The data supplied to an evcc integration can preserve 15-minute prices. In this evidence snapshot, all 3,340 representative zone-days were classified as containing native quarter-hour intervals. But that does not prove evcc preserved them after parsing, caching, tariff conversion, scheduling, and charger command generation, because those downstream stages were not executed in this study.

To answer the end-to-end question honestly, inspect one interval at every boundary. The same UTC start and end should appear in the source response, adapter model, evcc tariff series, scheduling decision, and audit record. The interval should remain 15 minutes unless a documented aggregation step deliberately changes it. If four distinct quarter-hour values arrive and four identical values leave an adapter, the adapter has probably expanded an hourly value or discarded variation. It should report an incompatibility or an explicitly hourly fallback, not silently continue as though native resolution survived.

The safe rule is simple: preserve native intervals when the downstream interface supports them; otherwise stop price-driven automation or use a declared coarser schedule whose loss of information is visible to the operator.

## Research question

The research question is whether native 15-minute day-ahead market intervals survive every transformation needed to control a household charger through evcc. “Preserve” means more than returning the same number of array elements. It requires stable delivery boundaries, correct timezone handling, unchanged price-to-interval association, explicit duration, and no hidden interpolation or replication.

The observable outcome in the frozen evidence is narrower: the share of representative zone-days that contain any native 15-minute interval in the market-data reconstruction. This tests whether quarter-hour information is available at the upstream contract. It does not observe evcc internals. The end-to-end claim would require linked receipts from the API response through the adapter and scheduler to the command boundary.

The distinction prevents a common category error. A source can be resolution-correct while an integration is not; an integration can also be internally correct while receiving only hourly source data. The paper therefore evaluates the source-side precondition and derives a fail-closed downstream test plan. It does not infer unmeasured evcc behavior from repository architecture or from the title of an integration.

## Data and provenance

The machine-readable evidence is published at the frontmatter `evidence` path and has schema `volt-home-paper-evidence-v1`. It records status `measured`, publication cutoff 2026-08-30T00:00:00Z, and a detailed-interval window from 2025-10-01 through 2026-08-29. It also lists common daily and long-history windows, but the primary metric is based on detailed interval groups rather than all history.

The analysis used a frozen, SELECT-only production snapshot. Provenance records `read_only_transaction: true`, a 180-second statement timeout, snapshot SHA-256 `7e97489fc8528c8cc8c38830e05b48d949ce1f67b98575dff26f5d7c321e4c67`, analysis-code SHA-256 `57c57de79cdab2b5b6d6c54c485cb5162598c5ba0b0bfe995da40d75e6c52ba9`, protocol SHA-256 `adb36bf6b447af9f96339249b8becaefc20422499cca1977242866347a97bd4b`, paper-registry SHA-256 `7bcb91d7476d0a69fe9fa75a5c7782f8117e0153f82f9112b7e1d307d3943717`, and source-registry SHA-256 `07949550ac443ff673fda5c0209b99f137544f3ffecf6775f109bb9d09663bd6`. The evidence-manifest hashes are `bdfa1c9e9ec98e0eb0a458662504943b8822ab15662888a1db63f36f247b9226` for the JSON and `85ffd607867a57645ce3c33524abf599d42d86dd533ee7181bb6e1e7e839ef15` for the WebP figure.

The family source contract names auction publications, grid revisions, ingestion runs, public API schemas, and repository integration fixtures. For this outcome, the analysis operated on grouped price intervals drawn into the frozen snapshot. Those are production-origin data records. No evcc process log, charger receipt, customer network trace, or device firmware event appears in the evidence. Any breakage example discussed below is a proposed deterministic fault-injection fixture, not a measured production incident and not a claimed repository-test result.

## Method

For every zone-day in the detailed price grouping, the analysis inspected the interval durations. A day received a value of 100 if at least one interval had a duration of 15 minutes and zero otherwise. It then calculated the mean across 3,340 representative zone-days. The resulting percentage is therefore an availability measure: it says the grouped days retained native quarter-hour observations somewhere in the day.

This method does not prove that every interval in each positive day was quarter-hourly. Nor does it compare an input payload with an evcc output payload. The evidence interpretation accurately states the boundary: the market-data contract preserves interval duration, and a downstream evcc adapter must not silently expand hourly values.

An end-to-end conformance method should add a lineage record for each transformation. Begin with a canonical tuple of zone, delivery start, delivery end, resolution, price, source, and revision. Serialize it into the adapter’s input and output representations, then compare the ordered tuples. If evcc requires another shape, document the mapping and verify conservation of elapsed time and energy-weighted price. Finally, attach the schedule decision to the exact input hash. A mismatch should quarantine the new schedule.

There are several design choices. Native storage preserves information and supports quarter-hour optimization, but requires downstream components to understand variable period counts and DST. Early hourly aggregation simplifies compatibility but discards intra-hour variation. Repeating hourly values into quarter-hours preserves shape only cosmetically and is the least defensible option because it hides lost information. A dual representation—native as authority, hourly as explicitly derived—offers compatibility without confusing the two.

## Results

The primary result is 100.0% representative zone-days retaining native 15-minute intervals. The sample size is 3,340 zone-days. The evidence artifact reports `bootstrap_95_interval: null` and `interval_method: "not reported for this estimand"`. Its chart contrasts an “hourly only” value of exactly 0.0% with a “native 15m” value of exactly 100.0%.

![Chart for Does evcc preserve native market intervals end to end?: representative zone-days retaining native 15-minute intervals, shown as hourly only, native 15m.](/research-media/home-papers/does-evcc-preserve-native-market-intervals-end-to-end.webp)

The correct interpretation is that native resolution was available in every representative grouped day under the metric’s “any 15-minute interval” rule. That is strong evidence against an upstream claim that the sample was hourly-only. It is not evidence that all 3,340 days were uniformly quarter-hourly, and it is not an observed end-to-end success rate for evcc.

Accordingly, the title receives a bounded answer. Upstream preservation passed in this snapshot. End-to-end preservation is unmeasured. Any public statement that “evcc preserved 100% of intervals” would go beyond the evidence. The 100% belongs to representative zone-days meeting the upstream classifier, not to adapter transformations or device commands.

## Robustness and placebo checks

The primary result is robust to ordinary rounding of prices because classification uses interval duration, not the price value. It remains sensitive to duration parsing: if an adapter discards explicit ends and infers duration from array position, it could manufacture false quarter-hour continuity. A reproduction should therefore compute duration from canonical starts and ends and independently compare the stored resolution field.

Useful adapter fault injections include replacing a 15-minute duration with 60 minutes, deleting one quarter, duplicating a timestamp, reordering quarters, expanding one hourly price four times, and shifting boundaries by a timezone offset. These checks should all lead to explicit rejection or to a labeled derived-hourly path. They are recommendations, not measured checks in this evidence artifact.

A useful placebo is a genuinely hourly source day. A validator should accept it as native hourly data while refusing to label it native 15-minute data. Another placebo feeds four equal but genuinely native quarter-hours; equality of values alone must not be interpreted as hourly expansion because identity comes from interval boundaries and provenance. These paired checks help distinguish shape validation from price-pattern guessing.

The family multiplicity statement applies Holm control to inferential claims, while this result is descriptive and makes no unadjusted significance claim. The evidence reports no interval, and that does not remove uncertainty about systems outside the sampled contract.

## Limitations

The largest limitation is that evcc was not observed. The evidence limitation explicitly states that repository contract tests and production receipts measure infrastructure behavior, not a customer’s local network or device firmware. In this specific outcome, even a repository evcc test result is not exposed. The paper therefore cannot claim a tested adapter version, configuration, tariff provider, scheduler, or charger.

The classifier is also permissive: a zone-day counts as native 15-minute if any interval is 15 minutes. A mixed or malformed day could pass that narrow test. Completeness, expected period count, total duration, and contiguous UTC coverage need separate checks before automation.

The sample is “representative” as defined by the frozen extraction and is not a census of every evcc-supported market. No zone breakdown is published in the paper-level aggregate. The result does not estimate savings, charging completion, command latency, or failure probability. It says nothing about retail taxes, network charges, or device constraints.

Software interfaces evolve. An adapter that conforms today can break after a schema or configuration change. Conformance must therefore be checked continuously at the boundary, not inferred permanently from one paper.

## Practical implication

An evcc adapter should ingest the native curve into a typed structure that requires UTC start, UTC end, duration, price, zone, source, and revision or observation identity. Before exposing the tariff, it should verify ordering, non-overlap, contiguity, target-day coverage, allowed duration, and freshness. It should also verify that the adapter output contains the same canonical tuples or a declared aggregation lineage.

If evcc accepts native quarter-hours, pass them without resampling. If it accepts only hourly input, aggregate with duration-weighted arithmetic, mark the result as hourly and derived, retain the native source hash, and disclose that quarter-hour optimization is unavailable. Do not fill four quarters by repetition and call that preservation.

At command time, bind the chosen charging intervals to the validated curve hash. If a later payload changes resolution, loses fields, or no longer covers the required charging window, refuse the new schedule. Continue only under an explicit appliance-safe fallback, such as a fixed completion schedule configured by the operator. Reliability comes from making degraded operation visible, not from guessing around an incompatible payload.

## Reproducibility

Verify all five provenance hashes and both evidence-manifest artifact hashes first. From the frozen detailed interval groups, create one indicator per zone-day: 100 when any interval duration equals 15 minutes, zero otherwise. Confirm 3,340 indicators, their mean of 100.0%, and that the evidence reports no interval for this estimand. Preserve the publication cutoff and do not substitute a newer database snapshot without labeling it a replication.

An end-to-end follow-up should publish an additional manifest identifying the evcc version, adapter commit, input and output schemas, timezone database, charger simulator or hardware boundary, fault fixtures, and receipt hashes. It should compare every canonical interval before and after each transformation. Production receipts and deterministic fixtures must be reported separately.

The present paper is reproducible as an upstream availability analysis. It is deliberately not a substitute for that downstream study. Any future result should retain the stable paper identity or clearly issue a new evidence version rather than silently changing what the 100% metric denotes.

## Disclosure

Analysis and drafting were model-assisted. This is a public working paper. It is not peer reviewed. The evidence, assumptions, source contract, code hash, snapshot hash, and figure are disclosed. Voltcast publishes the internal architecture source and produced the frozen aggregate.

No customer installation or device was tested. No repository-test pass is claimed. No restricted market data, live-trader result, or live-capital evidence is used. Volt has no live traders or live capital; C0R is its only paper strategy, and production weather forecasting is non-trading. This paper is not trading advice, product certification, or a promise of household savings.

## References

1. Google Search Central, [Article structured data](https://developers.google.com/search/docs/appearance/structured-data/article).
2. Google Search Central, [Introduction to structured data markup in Google Search](https://developers.google.com/search/docs/appearance/structured-data/intro-structured-data).
3. Google Search Central, [Spam Policies for Google Web Search — Scaled content abuse](https://developers.google.com/search/docs/essentials/spam-policies).
4. ENTSO-E, [Single Day-ahead Coupling (SDAC)](https://www.entsoe.eu/network_codes/cacm/implementation/sdac/).
5. Voltcast, [Voltcast Architecture](https://github.com/ossedk/voltcast/blob/main/docs/voltcast/ARCHITECTURE.md).
