ha_history_get_consumption
Calculates energy, water, or gas consumption from cumulative meters over a period, with totals, breakdowns, or comparisons.
Instructions
Calculates how much energy, water, gas, or other resource was consumed or produced in Home over a time period. Use for totals, interval breakdowns, and period-over-period comparisons of cumulative meters. Always returns consumption (the change over the period), never raw meter readings. Do NOT use for instantaneous sensors (temperature, power in Watts) → use ha_history_get_sensor_stats.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| end_time | No | Period end, same formats as start_time. Default: now. | |
| interval | No | "none": total consumption for the whole period (default). "day": daily breakdown. "week": weekly. "month": monthly. Required when using filter_operator/filter_value. | none |
| entity_id | Yes | Exact entity_id of a cumulative meter, resolved earlier, e.g. "sensor.home_energy_total". Do not guess. | |
| comparison | No | Only applicable with interval="none". Compares the total to a reference period. "previous_period": equal-length period immediately before. "same_period_last_year": same calendar dates 1 year ago. Returns both totals and the absolute/percentage difference. | |
| start_time | No | Period start. Formats: relative (7d/30d/24h/2w/1y), named ("last month"/"last week"/"yesterday"/"last summer"/"Q1"), or ISO ("2026-04-01"). Default: 30d. | |
| max_results | No | Applies to interval breakdown only (not scalar). Default: 100. Pass "all" for complete series. Response shows total count when capped. | |
| filter_value | No | Threshold for filter_operator. Required when filter_operator is set. | |
| filter_operator | No | Filter results to buckets where consumption satisfies [op] filter_value. Requires interval. E.g. "which days used more than 10 kWh?" → interval="day", filter_operator=">", filter_value=10 |