Skip to main content

Nexia (Trane / American Standard) Thermostat

GEM controls Nexia-connected thermostats — the Trane XL824 / 824 / 850 / 1050 and American Standard Gold / Platinum models — through Nexia's mynexia.com cloud, the same service behind the Nexia Home app. One GEM device represents one thermostat: after a one-time activation handshake, GEM polls the thermostat every 2 minutes for its current temperature, setpoints, system mode, and fan mode, and can push a new setpoint back.

This is a cloud integration. There is no local/LAN path to the thermostat — the GEM server needs outbound HTTPS internet access to reach mynexia.com. The thermostat must be a Nexia- enrolled Wi-Fi model that already shows up in a Nexia account before you add it to GEM.

Cloud, not an official API

This driver talks to the mynexia.com mobile service. It works reliably today, but it is a cloud link, not a guaranteed-stable local protocol — if Nexia changes the service or revokes the device's credentials, the integration can stop working until it is re-activated or the driver is updated. Treat it as best-effort, and keep local hardware (relays, IR, BACnet) for anything that must run with the internet down.

What's controlled

  • Setpoint — a single target temperature. In Cool it sets the cool setpoint, in Heat it sets the heat setpoint, and in Auto it sets the cool setpoint and places the heat setpoint a fixed offset below it (see Auto mode).
  • Live readings — current temperature, the active setpoint, the separate heat and cool setpoints, the system mode, the fan mode, and what the equipment is doing right now, refreshed every 2 minutes.
Mode and fan are read-only in this driver

GEM reads and reports the thermostat's system mode (heat / cool / auto / off) and fan mode (auto / on / circulate), but changing them from GEM is not implemented in this driver yet — the system_mode and fan_mode commands exist for discoverability but currently do nothing. Set the mode and fan at the thermostat itself or in the Nexia app; use GEM for the setpoint and for reading state. This is a driver limitation, not a configuration step you can fix.

Prerequisites

  • An active Nexia account with the thermostat already enrolled and online — confirm you can see and operate it at mynexia.com before adding it to GEM.
  • An activation code from the thermostat: on the thermostat, go to Settings → Remote Access → Mobile devices and generate a code. The code is single-use.
  • The thermostat's House ID and Thermostat ID. Sign in at mynexia.com on a computer and open the thermostat — the numeric house id and thermostat id appear in the browser's URL.
  • Outbound HTTPS internet access from the GEM server.

Add the thermostat

  1. Open System → Devices and click Add Device.
  2. For Driver, choose Nexia (Trane / American Standard) Thermostat.
  3. Subsystem pre-selects Climate (the driver hints the Climate subsystem, which ships by default). Leave it on Climate unless you have a reason to file it elsewhere.
  4. Give the device a clear Name (e.g. living_room_thermostat) and a friendly Label.
  5. Under Connection, fill in:
    • House ID — the numeric house id from the mynexia.com URL (e.g. 1411425).
    • Thermostat ID — the numeric thermostat id from the same URL.
  6. Under Authentication, paste the one-time code into Activation Code. Leave Mobile ID and API Key blank — GEM fills them in automatically after it activates (both are read-only and the API Key is stored encrypted).
  7. (Optional) Under Advanced, set the Auto Mode Setpoint Offset (default 5) and, for a multi-zone Nexia system, the zone overrides (see Multi-zone systems).
  8. Save. On first connect GEM posts the activation code, stores the returned Mobile ID and API Key, opens a session, reads the thermostat, and starts polling every 2 minutes.
The activation code is single-use

Once GEM activates, the persistent credentials are the Mobile ID and API Key it saved — not the code. The activation code is consumed and no longer needed; you can leave the spent value in the field or clear it. If you ever need to re-pair (for example after the credentials are revoked at Nexia), generate a fresh code on the thermostat and enter it again.

How you control it

The driver exposes four device commands. Because a thermostat is a single device (it does not create a Climate zone), you drive it from:

  • System → Commands — pick the device and a command to test it by hand.
  • Macros, triggers, and schedules — the primary way to use it. A schedule that sends setpoint = 74 every morning, or a trigger that nudges the setpoint up when the security system arms "Away", is the typical setup.

When you build a macro step or run a command, you fill the argument shown below — for the setpoint command the argument key is setpoint, and for the mode/fan commands it is mode.

CommandArgumentValuesWhat it does
setpointsetpointwhole number, in the thermostat's own temperature scaleSets the active setpoint — the cool setpoint in Cool, the heat setpoint in Heat; in Auto, sets the cool setpoint and the heat setpoint one offset below
get_statusForces an immediate read instead of waiting for the next 2-minute poll
system_modemodeheat, cool, auto, offDeclared for discoverability, but not implemented in this driver yet — it is a no-op. Change the mode at the thermostat or in the Nexia app
fan_modemodeauto, on, circulateDeclared for discoverability, but not implemented in this driver yet — it is a no-op. Change the fan mode at the thermostat or in the Nexia app

Setpoints are whole numbers; a fractional value is truncated to the whole degree. Readings and setpoints use the thermostat's own temperature scale (°F on a typical North American install) — GEM passes the values straight through without converting.

Commands are ignored until the thermostat is ready

A command sent before the driver has finished activating and reading the thermostat the first time is dropped (the device log shows nexia thermostat command before ready state). Right after a save or a reload, give it a few seconds before sending a setpoint.

Auto mode uses a setpoint offset

When the thermostat is in Auto (heat/cool changeover), a single setpoint value can't describe both sides, so GEM uses the Auto Mode Setpoint Offset (Advanced, default 5): it sets the cool setpoint to the value you send and the heat setpoint to that value minus the offset. For example, with the default offset of 5, setpoint = 74 in Auto sets cool to 74 and heat to 69. Raise or lower the offset to widen or narrow the dead band the integration applies in Auto. In Heat or Cool mode the offset is not used — the value sets that one side directly.

Multi-zone systems

By default GEM controls the thermostat's first (primary) zone, which is the right behavior for a single-zone thermostat. On a multi-zone Nexia system where you need to target a specific zone, set both Zone ID Override and Zone Type Override (Advanced) to the Nexia zone's id and type. Leave them blank to keep the auto-discovered primary zone.

Live status

Every 2-minute poll reads the thermostat and, only when something has changed, pushes a live update with:

ReadingMeaning
temperatureCurrent measured temperature
setpointThe active setpoint (cool setpoint in Cool, heat setpoint in Heat)
setpoint_coolThe thermostat's cool setpoint
setpoint_heatThe thermostat's heat setpoint
system_modeheat, cool, auto, or off
fan_modeauto, on, or circulate
system_statusWhat the equipment is doing right now (heating, cooling, idle, …)
Live updates, not stored values

These readings are delivered as live device updates for real-time display — they are not written to GEM's attribute store. That means there is no attribute history on the thermostat's temperature or setpoint, and an attribute trigger watching temperature or setpoint on this device will not fire (those values are never persisted). Use this thermostat for control and scheduling; if you want a homeowner thermostat tile, drive it with macro buttons rather than binding a Climate zone, since a bound zone would have no stored readings to display.

Known limitations

  • Cloud-only. No LAN path; the GEM server needs outbound HTTPS to mynexia.com, and a Nexia service change can break the integration until it's re-activated or the driver is updated.
  • One thermostat per device. Each Nexia thermostat is its own GEM device, identified by its House ID + Thermostat ID.
  • Mode and fan changes are not implemented. system_mode and fan_mode are read-only in practice; only setpoint (and get_status) act on the thermostat.
  • Whole-degree setpoints — fractional setpoints are truncated.
  • Fixed 2-minute poll — the polling interval is not configurable.
  • Readings are live-only — not stored as attributes, so no history or attribute triggers on the thermostat's temperature/setpoint.
  • Single-use activation code — re-pairing requires a fresh code from the thermostat.

Troubleshooting

SymptomCheck
missing activation_code attribute for nexia in the device logThe device has no credentials yet. Generate an activation code on the thermostat (Settings → Remote Access → Mobile devices), paste it into Activation Code, and save.
missing house_id attribute in the device logFill in House ID (and Thermostat ID). Both numbers are visible in the URL when you view the thermostat at mynexia.com.
Mobile ID / API Key stay blank after savingActivation failed — usually a bad or already-used code (the code is single-use). Generate a fresh code on the thermostat and re-enter it.
A command does nothing right after saving (nexia thermostat command before ready state)The driver hasn't finished activating and reading the thermostat. Wait a few seconds and try again.
system_mode / fan_mode commands have no effectExpected — changing the mode and fan is not implemented in this driver. Set them at the thermostat or in the Nexia app; use GEM for the setpoint.
Setpoint doesn't land on the intended zone (multi-zone system)Set Zone ID Override and Zone Type Override (Advanced) to the specific Nexia zone's id and type.
Worked, then stopped respondingNexia may have revoked the saved credentials or changed the service. Generate a fresh activation code and re-pair; confirm the thermostat is still online at mynexia.com.

See also

  • Devices — adding and editing devices, and the device log where the activation and status lines appear.
  • Commands — run setpoint / get_status by hand to verify the link.
  • Subsystems — the Climate subsystem this device files under.
  • Macros, Triggers, and Macro Schedules — how to drive the thermostat on a schedule or in response to events, which is the main way this integration is used.