Honeywell Total Connect Comfort
GEM controls Honeywell Total Connect Comfort (TCC / RedLINK) thermostats through
Honeywell's mytotalconnectcomfort.com homeowner portal — the same website and login the
customer uses in the Total Connect Comfort app. One GEM device represents one thermostat:
GEM signs in with the account credentials, finds the thermostat the portal opens to, and
then polls it for the current temperature, setpoint, system mode, and fan mode every
15 seconds.
This is a cloud integration. There is no local/LAN path to the thermostat — the GEM
server needs outbound internet access to reach mytotalconnectcomfort.com. Control is the
homeowner-portal API, so the thermostat must be a Wi-Fi model registered to a Total Connect
Comfort account (the older RedLINK gateways and the Wi-Fi/Lyric thermostats that show up on
the portal).
There is no official Honeywell API behind this driver — it drives the same web pages the portal serves to a browser. It works reliably today, but if Honeywell redesigns the portal or changes its login, the integration can break until the driver is updated. Treat it as a best-effort cloud link, not a guaranteed-stable local protocol.
What's controlled
- System mode — Heat, Cool, or Off
- Setpoint — a single target temperature (sets the heat setpoint while in Heat, the cool setpoint while in Cool)
- Fan mode — On (continuous) or Auto
- Live readings — current temperature, the active setpoint, the separate heat and cool setpoints, the system mode, and the fan mode, refreshed every 15 seconds
Modes are limited to Heat / Cool / Off and fan to On / Auto — there is no Auto changeover, Dry, Circulate, or fan-speed control in this driver, because the portal control screen this driver drives only exposes those options.
Prerequisites
- An active Total Connect Comfort account (
mytotalconnectcomfort.com) with at least one registered thermostat. Confirm you can sign in and operate the thermostat from the website before adding it to GEM. - The thermostat already commissioned and online in the homeowner's account (GEM does not enroll thermostats — it only controls ones the account already shows).
- Outbound HTTPS internet access from the GEM server.
Add the thermostat
- Open System → Devices and click Add Device.
- For Driver, choose Honeywell Total Connect Comfort.
- 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.
- Give the device a clear Name (e.g.
living_room_thermostat) and a friendly Label. - Fill in the two account fields:
- Username / Email — the Total Connect Comfort account email.
- Password — the account password. GEM stores it encrypted.
- Save. GEM logs in, follows the portal to discover the thermostat, reads its current
state, and starts polling every 15 seconds. Watch for
honeywell loginin the device log to confirm the connection; a failed sign-in logshoneywell login errorand the driver keeps retrying every few seconds.
This driver controls the single thermostat the portal opens to after sign-in. For an account with several thermostats (or several locations), the portal may land on a chooser rather than a thermostat and the right unit may not resolve. Accounts with one thermostat are the supported case; multi-thermostat accounts are not fully handled in this revision.
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
system_mode=coolthensetpoint=74every morning, or a trigger that sets the mode tooffwhen 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 mode
commands the argument key is mode, and for the setpoint command it is setpoint.
| Command | Argument | Values | What it does |
|---|---|---|---|
system_mode | mode | heat, cool, off | Sets the thermostat's system mode |
setpoint | setpoint | whole number, in the thermostat's own temperature scale | Sets the active setpoint — the heat setpoint while in Heat, the cool setpoint while in Cool |
fan_mode | mode | on, auto | Sets the fan to continuous (on) or auto |
get_status | — | — | Forces an immediate read instead of waiting for the next 15-second poll |
A setpoint command only succeeds when the thermostat is already in Heat or Cool. If
the system mode is Off, the setpoint is rejected (invalid system mode for setpoint). In a
macro, send system_mode first, then setpoint. The single setpoint number you send updates
the heat setpoint in Heat mode and the cool setpoint in Cool mode — you do not send both.
Setpoints are whole numbers; a fractional value is truncated to the whole degree. Readings and setpoints use the thermostat's own temperature scale (°F or °C, whichever the thermostat / portal is configured for) — GEM passes the values straight through without converting.
Live status
Every 15-second poll reads the thermostat and, only when something has changed, pushes a live update with:
| Reading | Meaning |
|---|---|
temperature | Current measured temperature |
setpoint | The active setpoint (heat setpoint while in Heat, cool setpoint while in Cool) |
heat_setpoint | The thermostat's heat setpoint |
cool_setpoint | The thermostat's cool setpoint |
system_mode | heat, cool, or off |
fan_mode | on or auto |
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, and an attribute trigger watching for temperature or setpoint on this device
will not fire (those values are never persisted). Use this thermostat for control and
scheduling; if you need a homeowner thermostat tile, drive it with macro buttons rather than
binding a Climate zone, since the zone tile would have no readings to display.
Schedules can override your setpoint
Honeywell thermostats run their own internal schedule. If a schedule period changes while GEM has set a manual setpoint, the thermostat reverts to the scheduled value — so a setpoint GEM sent can appear to "snap back" a short time later. For GEM-driven setpoints to stick, disable the schedule on the thermostat itself or in the Total Connect Comfort portal (or use the portal's "hold" behavior), then let GEM own the setpoints.
Known limitations
- No official API. The driver scrapes the homeowner portal; a Honeywell portal change can break it until updated.
- One thermostat per device, resolved from the page the portal opens to after sign-in; multi-thermostat / multi-location accounts are not fully supported.
- Modes limited to Heat / Cool / Off; fan limited to On / Auto. No Auto changeover, Dry, Circulate, or fan-speed steps.
- Whole-degree setpoints — fractional setpoints are truncated.
- Fixed 15-second 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.
Troubleshooting
| Symptom | Check |
|---|---|
honeywell login error in the device log | Verify the username/password by signing in at mytotalconnectcomfort.com directly. Repeated failed logins can get the account temporarily rate-limited. The driver keeps retrying every few seconds, so fix the credentials and it recovers on its own. |
A setpoint command does nothing / invalid system mode for setpoint | The thermostat is in Off. Send system_mode = heat or cool first, then the setpoint. |
| Setpoint reverts to a different value shortly after a change | Honeywell's built-in schedule moved to a new period. Disable scheduling on the thermostat / in the portal so GEM's setpoints hold. |
| Wrong thermostat is controlled, or nothing is found | The account has more than one thermostat or location. This driver only controls the single thermostat the portal opens to. |
| Worked, then stopped responding | A portal session expired (the driver re-logs in automatically and recovers), or Honeywell changed the portal (which can break the integration until the driver is updated). |
See also
- Devices — adding and editing devices, and the device log where the login and status lines appear.
- Commands — run
system_mode/setpoint/fan_modeby hand to verify the link. - 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.