Carrier Infinity systxccitc01-b Integration

There are a few hacks to sort of get this working but something official would be awesome. I got stuck with a carrier system in my new house and miss the integration I add with my ecobee

I’m using this thermostat: https://www.carrier.com/residential/en/us/products/thermostats/wifi-thermostats/systxccitc01-b/

It can be controlled by a remote web page or by Alexa but that is it

I started doing some research into their API. It’s not publicly documented, but after downloading the flash components into HAR format and looking at the JSON, I discovered that they do reference this API documentation: https://openapi.ing.carrier.com/docs

Furthermore they do have a developer kit they offer, so I requested that as well, as per this overview doc: https://openapi.ing.carrier.com/Content/pdf/oauth2-spec.pdf

No idea if this will lead anywhere, but I was already able to use the API docs to GET status using a REST sensor in HA, so that’s something. Their API status outputs this, which includes everything needed to hook it up to the HA thermostat card and climate entity. We’ll see if I can get any further with this but I’m not a developer so if someone else is, and is able to give this a shot, we may be able to build an integration using this API.

<?xml version="1.0" encoding="utf-8"?>
<status xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://openapi.ing.carrier.com/v1">
  <link rel="self" href="https://openapi.ing.carrier.com/systems/1234W123456/status" />
  <link rel="system" href="https://openapi.ing.carrier.com/systems/1234W123456" />
  <link rel="location" href="https://openapi.ing.carrier.com/locations/1" />
  <link rel="user" href="https://openapi.ing.carrier.com/users/billy.test" />
  <timestamp>2015-06-11T19:15:00Z</timestamp>
  <isDisconnected>no</isDisconnected>
  <oat>79</oat>
  <mode>cool</mode>
  <localTime>2015-06-11T15:14:53-04:00</localTime>
  <operatingStatusMessage>idle</operatingStatusMessage>
  <levels>
    <level id="filter">81</level>
    <level id="humidifierPad">22</level>
    <level id="ventilatorPrefilter">0</level>
    <level id="uvLamp">0</level>
  </levels>
  <components>
    <component id="humidifier">
      <status>on</status>
    </component>
    <component id="ventilator">
      <status>med</status>
    </component>
  </components>
  <zones>
    <zone id="1">
      <htsp>68</htsp>
      <clsp>74</clsp>
      <fan>off</fan>
      <currentActivity>home</currentActivity>
      <rt>72</rt>
      <rh>30</rh>
      <hold>
        <isRunning>no</isRunning>
        <endTime>22:30</endTime>
      </hold>
      <conditioningStatus>idle</conditioningStatus>
      <damperPosition>0</damperPosition>
    </zone>
    <zone id="2">
      <htsp>68</htsp>
      <clsp>74</clsp>
      <fan>off</fan>
      <currentActivity>home</currentActivity>
      <rt>72</rt>
      <rh>30</rh>
      <hold>
        <isRunning>no</isRunning>
        <endTime>22:30</endTime>
      </hold>
      <conditioningStatus>idle</conditioningStatus>
      <damperPosition>0</damperPosition>
    </zone>
    <zone id="3">
      <htsp>68</htsp>
      <clsp>74</clsp>
      <fan>off</fan>
      <currentActivity>home</currentActivity>
      <rt>72</rt>
      <rh>30</rh>
      <hold>
        <isRunning>no</isRunning>
        <endTime>22:30</endTime>
      </hold>
      <conditioningStatus>idle</conditioningStatus>
      <damperPosition>0</damperPosition>
    </zone>
  </zones>
</status>

Holy crap!

This is like my holy grail for integration and even this is a marked step forward. I really hope somebody can use this as a jumping point especially since their cloud server just bit the dust for a week.

@MizterB @bdf0506 @nebulous @mww012 just as an FYI as I see you have each done some development on this. Not sure if you were aware that there was a cloud API

Hey @aicarmic, can you please share a link?
I have the same system and am interested in connecting it to HA

Docs link was provided in my post above. Here it is again: https://openapi.ing.carrier.com/docs

I heard back from them and they said this in their reply to a request for API access:

“I’m sorry but we are primarily targeting home automation integrators with the Infinity OpenAPI, rather than “hobbyists.” At this time, we do not support peer-to-peer connections (local manipulation) through the API. The reason is the level of support that we would need to give to a large number of developers that provide connection to very few systems.”

To this I asked if Google home integration was planned, to which they responded with:

“We have some higher priority things on our list to tackle first for our infinity products, so the google home integration is currently not planned to be available in the near future.”

Seems they don’t have a particularly good grasp on the smart home market. I’ve gone with the Infinitude local API integration with the custom component that @MizterB built and so far this is working well:

Yeah, unfortunately Carrier doesn’t give 2 shits about smart home technology. Their thermostat is garbage and I’ll jump on the infinitude train as soon as I can get up in my attic.

Are you using the infinitude integration with the systxccitc01-b thermostat? Everything still working alright?

Yes, using systxccitc01-b + Infinitude + the custom HA climate component, and the integration works. Only thing of note is that adjustments made on the thermostat itself occasionally get overwritten by Infinitude, so my family uses exclusively HA or Google home to make adjustments now, which is better than the interface on that POS anyhow.

Quick followup – Carrier has quoted me on a new HVAC that includes a “Carrier Infinity Wi-Fi Touch Controller”. Are these compatible with that local integration repo? Looks like it hasn’t been modified in awhile. Is there a particular model number I should ask for or avoid?

I found how to install infinitude onto home assistant.

What I can’t find… How to configure infinitude to talk with the HVAC system? Somehow link to master thermostat?

Also, does infinitude control multiple HVAC systems? I have three. Two in the house and one in the Casita (Guest house).

Thanks.

P.S. If this is not the right area let me know… I have searched everywhere (all day!)

Phil

Infinitude works great. You gotta run the service, then point the thermostat to the IP of the running service.

I have two systems linked to two instances of infinitude.

Infinitude can run as a service or as a container.

Thanks for your message @moto2000!

I’m building a new house and the HVAC contractor is installing the system so I don’t have anything to play with yet :frowning:

So I have questions :wink:

  1. Does changing this on the thermostat mean that the Bryant app stops working?
  2. is there an install guide?

Thanks so much.

Phil

Hey no problem!

Setting up infinitude doesn’t affect the Bryant app, so it still works.

This thread will have all the info you need:

I know it’s a little long, but should answer any other questions you might have.

Infinitude is basically a proxy server. That means that the thermostat gets intercepted by infinitude to read the data before it gets passed on to carrier/Bryant.