🌡️ Resideo / Honeywell Home — real-time thermostats, no developer account

Resideo is a custom integration for Resideo / Honeywell Home thermostats. You sign in with the same email and password you use in the Resideo app — that’s the whole setup — and from then on everything stays in sync in real time: change something on the wall or in the app, and Home Assistant sees it a second later.

:rocket: Key features

  • Real-time push, ~1–3 seconds — true cloud_push over the cloud’s persistent SignalR stream, the same one the mobile app listens to. It never polls.
  • Your everyday credentials — no developer account, no OAuth keys; only the resulting refresh token is stored.
  • Room sensors are first-class devices — per-room temperature, humidity, motion, and occupancy, with switches to exclude a room from averaging.
  • A full climate entity — heat / cool / off (+ auto where supported), target range, fan Auto / Circulate / On, temporary & permanent holds.
  • Only what your hardware supports — entities appear per device capability (COâ‚‚/VOC on air-quality models, ~45 diagnostic entities for the nerds), no dead tiles.

:red_question_mark: Why another Honeywell integration?

The built-in Lyric integration supports these thermostats too, but it requires a Honeywell developer account with OAuth consumer keys — the source of the forum’s “Invalid client_id” threads — and it updates by polling. This integration talks to the same native cloud API the mobile app uses: regular credentials in, push updates out.

:wrench: Installation

Open your Home Assistant instance and open this repository inside the Home Assistant Community Store.

Or: HACS → ⋮ → Custom repositories → add https://github.com/sfcodes/ha-resideo (category Integration) → install Resideo → restart → sign in.

:folded_hands: Fair warning & compatibility

This is unofficial and reverse-engineered against an undocumented API — Resideo may change or cut off access at any time.

Built and tested against an ElitePRO S1200 / X8S with wireless room sensors. T9, T10, and other models the Resideo app manages may well work too — if you try one, please report back either way. A compatibility list will grow right here in this thread.

Full entity tables and troubleshooting (including the workaround for Resideo’s occasional login CAPTCHA) are in the README. Questions, bug reports, and feature requests welcome — I’ll be around in the comments.

Go build something cozy :fire::snowflake:

I have been using this integration without issue for a few weeks. Today I am receiving an error, Failed setup, will retry: GET https://api.resideo.com/ris-public-api/api/v1/accounts → 503
When I go to that URL, I receive the error, {“statusCode”:503,“message”:“The API is temporarily down for planned maintenance. Please try again later.”}
Is anyone else seeing this? Could Resideo have cut off access or is this an actual outage. It has been 12-hours now.

If your integration stopped working with a “The API is temporarily down for planned maintenance” error, v0.3.0 is the fix. Resideo moved the web address.