get_device_reading
Retrieve current temperature, humidity, and VPD from an AC Infinity controller by providing its device ID. Returns sensor data with timestamp.
Instructions
Get current sensor reading for a device by its AC Infinity device_id. Returns temperature, humidity, VPD, and timestamp.
Args: device_id: The AC Infinity device code (from discover_devices)
Returns: JSON example::
{
"device_id": "C58ZA",
"device_name": "Towlie Tent",
"temperature": 75.7,
"unit": "°F",
"humidity": 58.2,
"vpd": 1.31,
"timestamp": "2026-05-20T09:32:00 CDT",
"ports": [
{"port": 1, "name": "Inline Fan", "speed": 5},
{"port": 2, "name": "Port 2", "speed": 0, "plug_status": "not powered"}
],
"external_sensors": []
}
Temperature and timestamp use the device's own unit preference and timezone
(from ``deviceInfo.unit`` and ``zoneId`` in the API response). Devices
without a configured timezone fall back to UTC.
``external_sensors`` excludes phantom entries (API-reported sensor slots
with no physical hardware connected — see API Quirk 20).
``plug_status`` is only present on a port entry when no current is detected,
the port is not running (speed 0 and no load), **and the port still has its
default name** (``"Port N"``). Custom-named ports are assumed to have a device
intentionally connected — ``loadState=0`` alone cannot distinguish "nothing
plugged in" from "device is off" for on/off devices. This matches the signal
used in ``get_port_status``.
On failure returns ``{"error": "...", "detail": "..."}``.Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| device_id | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |