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.
Table of contents
Features
The integration adds a Home Assistant device per Carrier system, with entities for every zone
Climate (per 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
Sensors
Per zone:
- Temperature
- Humidity
Per system:
- 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
Binary sensors
- System online / offline
- Humidifier currently running (when installed)
- Zone occupancy (when occupancy sensing is enabled on the thermostat)
Controls
- Heat Source select: choose between gas heat only, heat pump only, or system-controlled (on dual-fuel and hybrid systems)
Other
- 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
Installation
HACS
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.
Manual Installation
- 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.
Configuration
-
- 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
Options
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.
Re-authentication
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.
Troubleshooting
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.
Common issues
- "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.
Support
- Bugs and feature requests: GitHub Issues
- Like the integration? Buy me a coffee ☕