> ## Documentation Index
> Fetch the complete documentation index at: https://docs.amps.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# HVAC

> What an HVAC device reports, what it accepts, and recipes for common tasks.

Read a thermostat or heat pump's temperature and setpoints, hold it at a temperature, or hand control back to its own schedule.

## What it reports

```bash theme={null}
curl https://api.amps.ai/hvac/device_abc123 \
  -H "x-api-key: $AMPS_API_KEY"
```

| Field | |
| - | - |
| `temperature` | Current temperature, in °C. |
| `active` | The unit is heating or cooling now. |
| `heatSetpoint` | Heats below this, in °C. |
| `coolSetpoint` | Cools above this, in °C. |
| `mode` | `heat`, `cool`, `auto`, or `off`. |
| `holdType` | `permanent` when a fixed setpoint overrides the schedule, `schedule` when the device runs its own program. |

See [Pull](/guides/pull) for the full read shape and freshness.

## What it accepts

| Command | Parameters |
| - | - |
| `heat` | `target`, in `celsius`. |
| `cool` | `target`, in `celsius`. |
| `auto.maintain` | `heatSetpoint` and `coolSetpoint`, in `celsius`. Keeps the temperature inside the band (reads back as `mode: "auto"`). |
| `idle` | None. Stops heating and cooling (reads back as `mode: "off"`). |
| `auto.schedule` | None. Hands control back to the device's own schedule. Immediate only. |

HVAC devices have no settings. Each device's `commands` shows its bounds and timing options. Live HVAC control is not open yet: see [Capabilities](/guides/capabilities).

## Recipes

<CardGroup cols={2}>
  <Card title="Hold a temperature" icon="thermometer" href="/cookbooks/hvac/hold-temperature">
    Override the schedule until you release it.
  </Card>

  <Card title="Heat for a window" icon="clock" href="/cookbooks/hvac/heat-for-a-window">
    Heat or cool between a start and end time.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.