Carrier Infinity integration

@MizterB, any chance we could add functionality to the custom component to allow HA to set Home/Away/Sleep/Wake on the thermostat? That’s one piece that is missing here, since instead of doing manual overrides all the time, which then expire in 2 hours, if you could instead set the program override. Happy to help where I can, but not sure how simple or complex it would be to do this.

@bdf0506 that is certainly possible. I could expose a service to change the current activity. I had been thinking about the same for the hold settings. Haven’t created services before, and I would also need to figure out the right API calls in Infinitude. So it might take a little time. Could you please log an issue on GitHub for me to track?

Sure, i’ll do that. I was messing with this code the other day, seeing what I could find to do this. The problem is I don’t know how Home Assistant will handle this. There isn’t a constant that allows for this. There is “away mode” and that is boolean, maybe that can be overridden to be a string list and we can utilize that?

I’ll log this in Github, I will help you get the right infinitude API calls - that part should be simple. I think you tried doing this at one point, since in the code I see references to activity around line 40 but they aren’t referenced properly after that. It is referenced in the API calls, but you then say it is manual in all calls. You actually have a “bug” in the activity index variables, since you reference away twice and don’t have one for wake. I say bug loosely, since it isn’t actually used so can’t really call it a bug :slight_smile:

ACTIVITY_INDEX = {
"home": 0,
"away": 1,
"sleep": 2,
"away": 3,
"manual": 4
}

Thanks. ACTIVITY_INDEX actually is used is in the set_temperature and set_fan_mode calls, because the Infinitude API (and the XML schema) references activities by ID, not name. But you are right, I’m only using the manual activity right now.

The logic being used right now is that when HA manually overrides either of those settings, the thermostat will apply the new temp ofrfan setting to the zone’s ‘manual’ activity. To then activate those settings, the manual activity is then enabled and ‘hold until’ flag is set, which effectively applies those settings until the next scheduled activity change (same default behavior as the thermostat).

As I’m writing this, I am remembering that this same approach is exactly what I need to do for your request - just apply a “hold until” on the requested activity, which will switch to that activity until the next schedule change!

To clarify the use of Away mode, if HA enables this setting, I place an indefinite hold on the ‘away’ activity profile. It’s probably not ideal if someone uses it for something like a ‘vacation mode’, where they might want the target temp to be something different than their daily ‘away’ profile. This is why I wanted to expose the ability to change the Hold setting through a service, so a script/automation/etc could enable such a scenario.

To conclude, services are the right way to provide the functionality both you and I are looking for (extending beyond the core capabilities of the HA climate platform). I just need to define the service handlers and create the corresponding services.yaml file - the rest of the foundation is already there.

Hey guys,
Since we originally kinda hijacked the infinitude integration thread that @bdf0506, @MizterB and others are working on, I’ve decided to start a new thread for the infinitive integration. This seems like it could get really confusing continuing two conversations here. Please jump over here and continue the infinitive conversation.

Thanks to the infinitude guys for letting me commandeer your thread!

New thread: Carrier/Bryant Infinitive Integration

@scott.parmenter @strikeir13 @michaelhdmd @Tj_Davis sorry if I’ve missed anybody else.

1 Like

For any others, future discussion about this particular feature (setting activity with custom HA component) is on GitHub - https://github.com/MizterB/homeassistant-infinitude/issues/12

OK I am wondering if anyone else has installed this lately and if there are any hiccups on newer HA versions. I am wanting to do this to my Carrier thermostat (as shown above) also.

This still works today, using infinitude on Docker and then using the custom add on that MizterB wrote. I have it running on 118.4 without issue.

2 Likes

I’m on the newest version of HA and its still working very well. I dont think I’ve ever had an issue with it.

1 Like

Is it still the case that these “smart” thermostats cannot be integrated into HA? https://www.carrier.com/residential/en/us/products/thermostats/smart-thermostats/systxccitc01-b/

It works. This thread is about the integration that works by having the thermostat go through the infinitive proxy

@countertokens, It’s only as smart as Carrier Corp lets it be. I have a number of guesses as to what’s driving them to keep such a tight grip on accessing their supposedly open API. Theoretically, having skimmed the API, it should be fairly straight-forward to code an integration with this stone age system. However, to date, I know of exactly one Carrier-sanctioned integration with their API - a Skill for Amazon Echo, which is absolutely atrocious. Feel free to read some of the reviews here: https://www.amazon.com/Carrier-Corporation-Infinity®-Touch-Control/dp/B01N1T72HY

All that being said, after having installed a Carrier Infinity system in my previous house, I had the misfortune on stumbling on another one (Bryant Evolution), in the house we upgraded to. For the time being I’m running infinitude, which although wasn’t that difficult to set up, is an absolutely cumbersome solution, by 21st century standards.

Although one can simply rip out the Infinity thermostat, change a few jumpers on the furnace/ac control module, and be able to run a “normal” thermostat of your choice; however, you do end up losing out on some of the finer configuration details, system information and control parameters. As of now, I’ve decided against it.

/rant_off

Big thanks to @MizterB for making my Carrier work the way it should! This is the whole reason I started using HA. I thought I would share my thermostat setup so any newbies can see what is possible using only the Visual Editors.

3 Likes

Hi
I would love to see how you created this. All I have is a simple one with no scheduling, which is something I have the HVAC currently preforming.

5310

You have to understand 4 essential parts of HA:

  • Events. Time is one of the events.
  • Automations. That’s how you get HA to trigger on events.
  • Helpers. That’s how you create the vaules. You can think of them as variables.
  • States. That’s how you get values. Every State you can use is under Developer Tools.

You can search the forum for more info on these. I made 2 automations, one for the daytime, and one for the night. Also, the automation I created in the visual editor didn’t work as I planned. I had to do some minor custom yaml code for the “action” to get the automations to work properly. Here’s my automation for the nighttime (my climate service is named “main”):

alias: Thermostat Sleep
description: Sets the thermostat to nighttime temperatures
trigger:
  - platform: time
    at: input_datetime.night
condition: []
action:
  - service: climate.set_temperature
    data:
      target_temp_low: '{{ states(''input_number.night_heat'') }}'
      target_temp_high: '{{ states(''input_number.night_cool'') }}'
    target:
      entity_id: climate.main
mode: single

The “input_datetime” and "input_number"s are Helpers you must create. The part that really had me scratching my head was how to get those heat and cool Helper vaules into the climate service. That’s where States come in. The schedule control is simply an “Entities” card with the Helpers.

Can you share how you got the schedule into the thermostat?

I never got the schedule to go into the thermostat. I have one of the cheaper models that doesn’t have a built-in schedule feature. I confirmed this through the Infinitude web interface. So instead, my scheduling is all internal to HA. Check out my post above on Apr 24. Basically I have automations running that will change the temperature setpoints of the thermostat when the time of day matches certain targets.

Guys and Gals - I’m new to the dance, but I had a Carrier Infinity integration in my old HomeBridge instance, which worked in HomeKit, and have since moved to Home Assistant. Would it be possible to reverse-engineer the HB integration? (I’m coming from a newbie / no coding knowledge whatsoever perspective).

1 Like

I’m also new to communicating with the HVAC. I posted my problem in another thread. At this point, the data that I’m observing is gibberish.

Looking for ideas

OSD

Not sure if you guys managed to find solutions to integrate Carrier Infinity into HA, but this is what I do:

I’ve been using the G. Rivkees ‘Carrier Inifiniy’ Homebridge plugin for a couple of years, even had a few communications with Mr. Rivkees, and his plugin I would now consider very solid.

Note that you don’t have to be part of the Apple ecosystem to use this solution. You don’t need a Homekit hub, nor an iPhone, just a Homebridge instance running on any hardware you have at hand.

Works well with GitHub - nielsfaber/scheduler-card: HA Lovelace card for control of scheduler entities