The
telemetry group on the device says which feeds are required, at what interval, and whether each is delayed. Intervals go down to 60 seconds. device.update fires when the group changes, so switch your pipelines per device from it.
Meter records use the same endpoints and formats as for tariffs. See Meter records.
Device state
Submit with submit a device state, or for up to 1,000 devices with submit device states. The batch validates each sample alone and lists failures inrejected.
A sample is due when both are true:
telemetry.state_interval_secondshas elapsed since your last submission.- A signal changed: state of charge by 1 point, power by 0.1 kW, or any boolean, enum or timestamp.
telemetry.state_resend_interval_seconds, which keeps state_data_delayed clear. Flatpeak sets it at three times the state interval, and never below 300 seconds.
Flatpeak shares state with the device’s VPP operator and uses it to bound the device’s share of VPP events.
Device meter records
Every program settles on the device’s own meter records, so every enrolled device submits them, at least as finely astelemetry.device_meter_interval_seconds. Use submit device meter records.
Location meter records
No VPP program requires location meter records. Flatpeak still uses them for costs, and shares them with the device’s VPP operator. Location records come from the location’s metering device: the one that measures the grid connection point, such as a storage gateway with a CT clamp.- Declare it with
capabilities.metering.locationset totrue. A location has one metering device. - Submit with submit location meter records, passing the metering device’s
device_id. - Never send the same records on the device feed, because they would be counted twice.
- If two devices declare the capability, or submit for the same window, the last write wins.
metering.conflicton the location turnstrueandlocation.updatefires. Setmetering.locationtofalseon one.

