Skip to main content

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).

Reverse-engineered 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

  1. Open System → Devices and click Add Device.
  2. For Driver, choose Honeywell Total Connect Comfort.
  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. Fill in the two account fields:
    • Username / Email — the Total Connect Comfort account email.
    • Password — the account password. GEM stores it encrypted.
  6. Save. GEM logs in, follows the portal to discover the thermostat, reads its current state, and starts polling every 15 seconds. Watch for honeywell login in the device log to confirm the connection; a failed sign-in logs honeywell login error and the driver keeps retrying every few seconds.
One thermostat per device

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 = cool then setpoint = 74 every morning, or a trigger that sets the mode to off 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 mode commands the argument key is mode, and for the setpoint command it is setpoint.

CommandArgumentValuesWhat it does
system_modemodeheat, cool, offSets the thermostat's system mode
setpointsetpointwhole number, in the thermostat's own temperature scaleSets the active setpoint — the heat setpoint while in Heat, the cool setpoint while in Cool
fan_modemodeon, autoSets the fan to continuous (on) or auto
get_statusForces an immediate read instead of waiting for the next 15-second poll
Set the mode before the setpoint

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:

ReadingMeaning
temperatureCurrent measured temperature
setpointThe active setpoint (heat setpoint while in Heat, cool setpoint while in Cool)
heat_setpointThe thermostat's heat setpoint
cool_setpointThe thermostat's cool setpoint
system_modeheat, cool, or off
fan_modeon or auto
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, 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

SymptomCheck
honeywell login error in the device logVerify 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 setpointThe thermostat is in Off. Send system_mode = heat or cool first, then the setpoint.
Setpoint reverts to a different value shortly after a changeHoneywell'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 foundThe account has more than one thermostat or location. This driver only controls the single thermostat the portal opens to.
Worked, then stopped respondingA 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_mode by 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.