Skip to main content

Honeywell Total Connect smart home integration, free and open source

Honeywell Total Connect integration for Gladys Assistant

Honeywell / Resideo Wi-Fi thermostats of the Total Connect Comfort portal (US, Canada).

Overview​

This integration brings the Honeywell / Resideo Wi-Fi thermostats of the Total Connect Comfort portal (mytotalconnectcomfort.com, the United States and Canada) into Gladys: temperatures, humidity, heat and cool setpoints, system mode, fan, schedule hold and equipment status, with their commands.

Each thermostat of the account becomes one Gladys device, in the unit the thermostat displays (°F or °C).

Developed without the hardware: feedback welcome. The integration is built on recorded answers of the portal and tested against a simulated portal; it has not yet been tried on a real thermostat.

This integration is not affiliated with Honeywell or Resideo.

Requirements​

  • Gladys Assistant 5.2.0 or later.
  • A Total Connect Comfort account (the one of the "Total Connect Comfort" app) with at least one thermostat, for example the RTH6580WF, RTH8580WF, RTH9580WF, TH6320WF, TH8320WF or the Wi-Fi VisionPRO models.
  • Not supported: the Lyric and T-series thermostats (T5, T6, T9, T10), and every thermostat managed by the "Resideo" / "Honeywell Home" app. They use another cloud. The European Evohome portal is not supported either.

Configuration​

In Gladys, open Integrations → Honeywell Total Connect and fill in:

  • E-mail address and Password: those of your Total Connect Comfort account.
  • Read the portal every: 2, 5 (default), 10 or 15 minutes.
  • Language of the feature names: the names given to the features when a thermostat is added to Gladys, and the language of the messages (French by default).

Press Test the connection: the integration logs in once and lists the thermostats it found. Then open the Discovery tab and add your thermostats.

About account locks. The portal locks an account after too many failed logins, and a locked account also locks you out of the Honeywell app. So the integration never retries a refused password by itself: it waits until you save new credentials or press Test the connection. A login answer it does not understand is retried at most every 10 minutes, three times, then it stops the same way. The session is kept under /data (the private volume of the integration), so a restart of Gladys does not need a new login.

Devices and features​

One device per thermostat, with the features it has:

FeatureWhat it is
Indoor temperatureThe temperature the thermostat reads.
Indoor humidityWhen the thermostat has a humidity sensor.
Outdoor temperature, outdoor humidityWhen an outdoor sensor is connected to the thermostat.
Heat setpoint, cool setpointControllable, in whole °F or half °C, within the limits of the thermostat.
System modeOff, heat, cool, auto (the modes the thermostat allows). Emergency heat reads as "heat".
Emergency heatHeat pumps only. Turning it off goes back to "heat", never to "off".
Equipment statusIdle, heating or cooling (not shown when the thermostat does not report it).
Fan, fan runningAuto, on, circulate, follow schedule (those the thermostat offers), and whether the fan runs.
Schedule holdFollow schedule, until the next period, permanent hold; a vacation hold is shown but set from the app only.

Like on the thermostat itself, changing a setpoint while the schedule runs holds it until the next schedule period. Use Schedule hold to make it permanent or to give the thermostat back to its schedule.

A command is sent at once, shown at once, and the thermostat is read again about 15 seconds later.

Dashboard widget​

Honeywell thermostat: pick a thermostat in its settings. It shows the indoor and outdoor temperatures, the humidity and the setpoints in use (live tiles), then the mode, what the equipment does, the fan, the hold and the connection. Buttons:

  • Set temperature: a short form with the setpoints of the current mode, pre-filled, and how long they hold (until the next period, or until you resume the schedule).
  • Resume schedule during a hold, or Hold to keep the current setpoints.

The Gladys thermostat widget (dashboard) also works with these thermostats: create an "external" thermostat in the Gladys thermostat integration and point it at the heat setpoint.

Scene triggers​

  • Thermostat connection lost: Gladys can no longer reach a thermostat. Filter on the thermostat and on the cause: thermostat_offline (the thermostat lost its Wi-Fi), portal_unreachable (the portal did not answer for three reads in a row) or login_refused (the portal refused the login). Variables: thermostat_name, cause.
  • Thermostat connection restored: the thermostat answers again. Variable: thermostat_name.

Scene action​

Hold a temperature until a time: a temporary hold on one thermostat, which goes back to its schedule by itself at the given time (thermostat time, rounded up to the quarter hour). Leave a setpoint empty to keep it. Output: until, the end of the hold (HH:MM).

Scene examples​

  • Guests tonight: at 6 pm on Saturday, "Hold a temperature until a time" with a heat setpoint of 72 until 23:30. The schedule resumes on its own.
  • Everybody left: when the house becomes empty, set Schedule hold to "Permanent hold" and the heat setpoint to 62; when someone comes back, set Schedule hold to "Follow schedule".
  • Heating alert: on "Thermostat connection lost" with the cause thermostat_offline, send a message "{{triggerEvent.data.thermostat_name}} is offline".

Refresh and portal limits​

Total Connect Comfort has no public API: the integration uses the web portal like a browser does. The portal publishes no quota, but it is slow, and it locks accounts it finds too busy. So:

  • each thermostat added to Gladys is read once per period (5 minutes by default, 2 at the fastest; Home Assistant reads every 30 seconds);
  • the account list is read only at startup, after a configuration change and on a new search in the Discovery tab;
  • requests go one at a time, and only what changed is sent to Gladys (an unchanged value is sent again every 6 hours, so it never looks stale).

The integration refreshes by itself, with its own timer: it does not depend on the polling of the Gladys core.

Troubleshooting​

  • "Total Connect Comfort refused the e-mail address or the password": check them on mytotalconnectcomfort.com, then save them again in Gladys.
  • "The account is locked": wait for the portal to unlock it (log in on the website to check), then press Test the connection.
  • "Total Connect Comfort cannot be reached": the portal is down or slow; the integration tries again at every period.
  • A thermostat shows "unreachable": it lost its Wi-Fi; check it in the Total Connect Comfort app.
  • No thermostat found: the account may be a Resideo / Honeywell Home account (Lyric, T-series), which this integration does not support.
  • Logs: set LOG_LEVEL=debug to see every read. Passwords and session cookies are never written to the logs.

Limitations​

  • Developed without the hardware: feedback welcome.
  • United States and Canada portal only; not Lyric, T-series, Resideo app or Evohome.
  • Humidifiers, dehumidifiers, schedules and vacation holds are not managed (a vacation hold is shown, not set).
  • Times are those of the thermostat; the portal works in quarters of an hour.
  • The portal is not an official API: Honeywell / Resideo may change it without notice.

Configuration settings​

These are the settings Honeywell Total Connect asks for in its configuration screen in Gladys.

SettingTypeRequiredDescription
Your Total Connect Comfort accountsectionNoThe account of mytotalconnectcomfort.com, the one of the Total Connect Comfort app. Lyric and T-series thermostats (Resideo app) use another cloud and are not supported. The portal locks an account after too many failed logins: a refused password is never tried again until you save new credentials.
E-mail addressstringYes
PasswordsecretYes
Read the portal everyselectNoThe portal is slow and dislikes busy clients: 5 minutes is a good pace. A command is read back about 15 seconds later anyway.
Language of the feature namesselectNoNames given to the features when a thermostat is added to Gladys, and language of the messages.

How to install Honeywell Total Connect in Gladys​

  1. In Gladys, open Integrations: Honeywell Total Connect appears in the catalog, next to the native integrations, with a community badge.
  2. Click Install. Gladys pulls the Docker image (ghcr.io/guim31/gladys-honeywell-tcc:1.0.1), starts it in a sandbox isolated from the core, and generates the integration's interface (devices, discovery and configuration).
  3. Open the Configuration screen of the integration, fill in the settings, and save.
  4. You can also install it directly from its repository URL: https://github.com/guim31/gladys-honeywell-tcc.

Honeywell Total Connect requires Gladys >=5.2.0. The catalog inside Gladys refreshes every hour, so a new version becomes available at most one hour after its release.

Not running Gladys yet? It is free and open source: follow the installation guide to get started.

About external integrations​

Honeywell Total Connect is an external integration: a community integration packaged as a Docker container and published on GitHub, that Gladys installs in one click and runs in a sandbox isolated from its core. It is published and maintained by guim31, not by the Gladys core team.

Subscribe to the Gladys Assistant newsletter

A few emails per month about new releases and project news. Sent by Pierre-Gilles Leymarie, founder of the project. Unsubscribe anytime 🙂