# Quick Start

This page starts from a custom thermostat description, creates a Device Agent, and verifies the first
control action with a browser simulated device. No real hardware is required.

## Before You Start

Make sure Device Agent is running and the console is available:

```text
http://127.0.0.1:3000
```

If you have not installed or configured Device Agent yet, start with
[Installation](../installation.md) and [Configuration](../operate-reference/configuration.md).

![Device Agent console create entry](../images/docs/getting-started/quick-start/en/01-create-entry.png)

## 1. Enter a Device Description

If there are no Device Agents yet, the console home page shows an input box where you can enter or
upload a device description. If you already have Device Agents, click the **+** button in the left
sidebar, or click **Create device agent** on the home page to start a new creation flow.

A device description can be plain text, JSON, YAML, or Markdown, as long as it describes the
device's commands, telemetry, and events. **View examples** is optional; use it as a reference, or
enter your own device description directly.

For this quick start, copy this description and send it:

```text
Smart thermostat with on/off, target temperature setting and HVAC mode switching (heat/cool/auto/fan_only/eco), reporting current temperature, humidity and heating/cooling status, and reporting alert events when the temperature exceeds 30 degrees or the device goes offline.
```

Click send, and Device Agent generates a DeviceSpec draft.

![Enter the thermostat device description](../images/docs/getting-started/quick-start/en/02-device-description.png)

## 2. Review Device Capabilities

In the preview panel, review the capabilities generated by the model. The result depends on your
input, so it does not need to match the list below exactly. Focus on whether commands, telemetry,
and events cover the expected behavior. For the thermostat description above, it may include:

- Commands: power control, target temperature setting, mode switching
- Telemetry: current temperature, target temperature, humidity, mode, heating/cooling status, online status
- Events: over-temperature and device offline alerts

If the capabilities look correct, click **Create**. After creation finishes, click **Enter Agent** on
the completion page, or open the newly created Device Agent from the left sidebar.

![Review the thermostat DeviceSpec draft](../images/docs/getting-started/quick-start/en/03-preview-create.png)

## 3. Start the Browser Simulated Device

After entering the Device Agent, the left side shows the **Devices** panel. If no devices are
connected yet, click **Try a simulated device**.

In the dialog, confirm the device name and device ID, then click **Connect**. The simulated device
runs in the browser, connects to MQTT, and registers itself to the current Device Agent.

After it connects, the device list shows a device with the **Sim** badge. Select it to open the
status panel, where you can see:

- Device status
- Current data
- Available commands
- Latest reported events

![Start the browser simulated device](../images/docs/getting-started/quick-start/en/04-simulator-device.png)

## 4. Control the Device and Query Status and Events

Keep the simulated device selected, then enter this control request in the chat box:

```text
Set the target temperature to 24 degrees and switch to auto mode.
```

The Device Agent uses the current DeviceSpec and selected device context to call the matching
commands. After the browser simulated device receives the commands, it updates its current data and
continues reporting state.

You can then query the current device status and recent events:

```text
Show the current device status, including current temperature, target temperature, humidity, and mode. Also check whether there have been any recent reported events, and list them by time if available.
```

Check the status panel to see whether `target_temperature` and `mode` changed. You can also view
current data, available commands, and latest reported events. If the simulated device has not
triggered or reported events yet, the conversation returns that no events are available.

![Control and query the device through chat](../images/docs/getting-started/quick-start/en/05-chat-command.png)

## Result

After completing the steps above, you have verified several core Device Agent capabilities:

- Generate a Device Agent draft from a text, JSON, YAML, or Markdown device description.
- Review commands, telemetry, and events in the DeviceSpec.
- Start a browser simulated device and register it to the current Device Agent.
- Send a device control command and query device status and events through conversation.

## Next Steps

- Read [Define a Device Agent](../usage/create-agent.md) to understand how Device Agents, DeviceSpec, and real devices relate.
- Read [MQTT Access](../device-access/mqtt.md) to connect real devices to Device Agent.
- Read [SDK Access](../device-access/sdk-generation.md) to generate or adapt a device-side access project.
