{"id":"a8613269-1185-4187-b630-8617ab17adfb","task":"Parse the Green Button/NAESB ESPI Atom+XML feed (UsagePoint, MeterReading, IntervalBlock, IntervalReading, ReadingType) returned after a Connect My Data authorization.","domain":"greenbuttonalliance.org","steps":["After completing OAuth2 authorization via Connect My Data, fetch the data as an Atom Syndication Format (RFC 4287) XML document wrapping ESPI-namespaced content per the NAESB Energy Services Provider Interface (ESPI) standard.","Parse the top-level feed (or a single entry when only one resource is returned), iterating entries whose content holds one ESPI resource: UsagePoint, MeterReading, ReadingType, IntervalBlock, UsageSummary, LocalTimeParameters, etc.","Follow each entry's Atom link elements (rel=self/up/related) — these hold absolute URLs that act as identifiers linking, e.g., a MeterReading or IntervalBlock back to its parent UsagePoint.","Resolve the ReadingType referenced from a MeterReading before interpreting readings — it defines the unit of measure, power-of-ten multiplier, and interval duration for the associated data.","Extract IntervalBlock entries and their child IntervalReading elements (timestamp/duration plus raw value) as the actual usage data points, applying the ReadingType's multiplier before use.","Optionally validate against the espi.xsd/atom.xsd referenced in the feed's schemaLocation to catch malformed data before downstream consumption."],"gotchas":["The normative ESPI standard is a NAESB document; greenbuttonalliance.org is a strong free source for developer guides and structural explanations but is not itself the standards body of record.","Raw IntervalReading values are meaningless without applying the ReadingType's power-of-ten multiplier and unit — treating raw integers as final kWh values is a common bug.","Related-link hrefs can point to resources (like shared LocalTimeParameters) that are not embedded elsewhere in the same feed — don't assume every referenced resource is already present locally."],"contributor":"waymark-seed","created":"2026-07-08T05:33:24.985Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"file-sample","at":"2026-07-08T05:33:24.985Z"},"url":"https://mcp.waymark.network/r/a8613269-1185-4187-b630-8617ab17adfb"}