Cloud-based Home Assistant integration for Carrier Infinity, Bryant Evolution, and other thermostats that use the Carrier Infinity / Côr cloud account (the same account used by the Carrier mobile app).
This integration talks to Carrier's cloud and requires internet access plus your Carrier account credentials.
Looking for a fully local option? Try infinitude instead.
Initially tested on SYSTXCCWIC01-B (firmware 4.31). Other Infinity / Evolution thermostats that work in the Carrier mobile app are expected to work as well.
The integration adds a Home Assistant device per Carrier system, with entities for every zone
- Heat, Cool, Heat/Cool (Auto), Fan-only, and Off modes
- Current temperature and humidity
- Target temperature (single setpoint, or independent high/low setpoints in Heat/Cool mode)
- Target humidity (when a humidifier is installed)
- Fan speed: Auto, Low, Medium, High
- Preset activities defined on your thermostat: Home, Away, Sleep, Wake, Manual, plus a special Resume preset that returns the zone to its scheduled program
- Optional "infinite hold" behavior — when enabled (default), manual changes hold indefinitely; when disabled, holds end at the next scheduled activity transition
- Temperature
- Humidity
- Outdoor temperature
- Filter life remaining (%)
- Humidifier life remaining (%, when installed)
- UV lamp life remaining (%, when installed)
- Airflow (CFM)
- Static pressure
- Outdoor unit (ODU) status, with detailed diagnostics
- Indoor unit (IDU) status, with detailed diagnostics
- Variable-capacity ODU output (%, on variable-capacity heat pumps and AC units)
- Energy usage per source (heat pump, electric heat, gas, fan, cooling, reheat, loop pump): yesterday, last month, and year-to-date — wired up for Home Assistant's Energy dashboard
- Gas / propane usage year-to-date (when applicable)
- Last-update timestamps for full data refresh, websocket updates, and energy refresh
- System online / offline
- Humidifier currently running (when installed)
- Zone occupancy (when occupancy sensing is enabled on the thermostat)
- Heat Source select: choose between gas heat only, heat pump only, or system-controlled (on dual-fuel and hybrid systems)
- Configuration entirely through the Home Assistant UI — no YAML required
- Near real-time updates via Carrier's websocket push channel, with periodic polling as a fallback
- Automatic re-authentication prompt if your Carrier password changes
- Supports multiple Carrier systems on the same account
This integration is included in the default HACS store
-
Make sure HACS is installed in your Home Assistant
-
(or manually search for Carrier Infinity Thermostat in HACS) -
Click Download in the bottom right
-
Restart Home Assistant
-
Continue with Configuration below.
- Download the latest release from the Releases page.
- Copy the
custom_components/ha_carrierfolder into your Home Assistantconfig/custom_components/directory. The final path should look likeconfig/custom_components/ha_carrier/__init__.py. - Restart Home Assistant.
- Continue with Configuration below.
-
- In Home Assistant, go to Settings → Devices & Services
- Click + Add Integration in the bottom-right
- Search for Carrier Infinity Thermostat and select it
-
Enter the username and password for your Carrier cloud account (the same login you use in the mobile app)
-
Click Submit. Your thermostats and zones will appear as devices automatically
After setup, click Configure on the integration to change:
- Infinite holds (default: on) — when on, manual changes from Home Assistant hold until you choose Resume. When off, holds expire at the next scheduled activity transition on your thermostat.
If you change your Carrier password, Home Assistant will display a Re-authenticate prompt next to the integration. Click it and enter your new password — no need to remove and re-add the integration.
If something isn't working as expected:
- Open Settings → Devices & Services → Carrier Infinity.
- Click Enable debug logging.
- Restart Home Assistant so initialization is captured with debug logs.
- Reproduce the issue.
- Click Disable debug logging — Home Assistant will download a log file.
- From the three-dot menu next to your Carrier device, click Download diagnostics.
- Open an issue and attach both the log file and the diagnostics file. Both files have personal information (serial numbers, account ID) automatically redacted.
- "Invalid authentication" — double-check your username and password in the Carrier mobile app. If the mobile app works but Home Assistant doesn't, open an issue with diagnostics.
- Entities show as unavailable — check the Online binary sensor for the system. If it reports offline, the thermostat has lost its connection to Carrier's cloud (often a router or internet issue at the thermostat's location).
- Slow updates — most state changes arrive within a few seconds via websocket; energy data is refreshed at most every 30 minutes.
- Bugs and feature requests: GitHub Issues
- Like the integration? Buy me a coffee ☕