Carrier/Bryant Infinitive Integration

Is there a way to add the zone support like the Infinitude project ? My system has a “master” thermostat on the main floor that can controls each zone individually and a secondary thermostat upstairs that can only alter the temperature for X hrs but all the scheduling is done on the main thermostat.

I’d like to be able to control both zones as I have a baby girl on the way and I want to make sure her room temp remains stable.

Everything works fine fo almost a year now for the main floor. I’d like just to add control to the second floor as well. If not possible through the same instance, anyone managed to add a second Pi to control 2 zones with the same HAVC system ?

Thanks

Unfortunately there’s not. The Infinitive project basically reverse engineered the serial protocol that the HVAC unit uses (way above my pay grade). That project doesn’t have support for multiple zones. This project just ties the Infinitive API into HA so we’re limited to what capabilities the infinitive project has.

Hopefully one day it’ll happen but I’m not holding my breath.

While I checked the documentation about the integration, I noticed that the API has a “zone” parameter in the endpoint. So maybe there’s something to work on from that :

Yeah, that’s true. If you figure out how to make Infinitive work with multiple zones definitely let me know. I only have one zone so I don’t have anything to test with. If Infinitive can do it we can pull it into HA.

Hoping one of you home assistant gurus here can help me walk the right path. Sorry for the noobish questions.
So I bought a ODROID N2+

It is running Hass OS. And before I say more I’m guessing that is the issue? Or perhaps my assumptions below are wrong but if someone can help point me down the right path GREATLY appreciated. Been at learning this for 2 days and thinking I have to start over.

I have a carrier infinity with touch. (SYSTXCCITC01-B)

I didn’t realize when I got Home Assistant anything about Carrier not having a true open API, existing addon out of the box, etc. but found these threads and started reading.

It seems what MizterB did would be a good fit. I installed HACS successfully and then what he created here:

I obviously didn’t read enough as then I realized that actually needs infinitude installed to do anything.

This is where I think I have an issue? I’m completely new to docker, containers, portainer, etc. etc.
I realize now being on Hass OS I can’t use those things like someone who just has Hass OS in its own container and is running off of Linux.

I saw the suggestion to use a prebuilt docker in the infinitude instructions.

So I went here:
https://hub.docker.com/r/nebulous/infinitude
and ran the command:
docker pull nebulous/infinitude

I now can see an infinitude folder in my custom_components folder. It did pull down.
But I don’t think I can use the “run” command as I’m learning now that as I’m on HASS OS I can’t use “compose”? Does that mean even though I have the folder/files I’m still out of luck?

This command:
docker run --rm -v $PWD/state:/infinitude/state -p 3000:3000 nebulous/infinitude

Just returns and error about how I’m on a read-only file system.

Then I saw what 5310 built and he mentioned installing INSIDE the HASS OS:

And that gave me hope but at this point I’m afraid I’m just gonna screw up the entire install if I keep just running commands.

If anyone is nice enough to read all that I guess my question is:

  1. Do I have a hope of getting infinitude, mizterb’s solution, etc, running on HassOS or do I need to nuke my install and start over where I have linux and my HassOS in a container so I can do things with docker/containers correctly?

If I do need to start of I guess I need to make sure the N2+ will run all that. Or just use my carrier app and forget including this one in Home Assistant

or

  1. No there is a way to do this and keep plugging away at getting what 5310 built to work?
    I guess figure out Proxmax? I’m still not sure what his solution does but will try to figure out.

I guess worst case I just wipe the thing and start from scratch. Perhaps the first thing I tackled shouldn’t be my HVAC in this case!

Again any help greatly appreciated. Would love this paper weight to do some stuff =)

You can run infinitude through a portainer add-on.

This post might be helpful:

You would need to install the portainer add-on, which you can get by adding this repository when you’re in the add-on store:

1 Like

Thanks! So portainer essentially does what docker would do but I can’t do on Hass OS if I’m reading right?

Then install using that? Working now so will read it thoroughly later.
And I assume I’d want to delete what I made with Docker Pull? That’s currently in custom_components.

Yea, Portainer is basically a web UI of docker. That particular add-on lets you install docker containers within the HassOS environment. Once you’re in portainer, you can install the docker container and have it preconfigured by going in the ‘Stacks’ menu and adding a one with this text:

version: "2.1"

services:
  infinitude_3000:
    container_name: infinitude_3000
    hostname: infinitude_3000
    image: nebulous/infinitude:latest
    network_mode: host
    ports:
      - "3000:3000"
    volumes:
      - /mnt/data/supervisor/share/infinitude_3000/state:/infinitude/state
    environment:
      - APP_SECRET=Pogotudinal
      - PASS_REQS=300
      - MODE=Production
    restart: always

More info on it is in the other thread that I linked to, this thread is for a different way of getting it integrated.

1 Like

TY very much! Glad to hear I don’t have to blow up the install completely.

Edit:
Got it up now. The real key was you mentioning the alexbelgium group of addons.
I’d seen the salty conversation in that other thread before and it seemed like portainer was being dropped so I decided to try to find another way.
With that repository you mentioned it was just a few clicks!

Just tested my proxy and I now see things in my browser from the thermostat.

Thanks Again!!

Would it be easier if I share to you some data (don’t know how or which to send) so we can work this out ?

Let’s try this. Hit this URL and see what you get back.
[raspberry pi IP]:8080/api/zone/1/config

You should get a json response with info about your system.

Then check…
[raspberry pi IP]:8080/api/zone/2/config
and see if you get back another json response or a 404 error.

If we get a json response on zone 2 then we can make the HA integration use it. If we get a 404 we’re kind of stuck.

Got a 404 but after looking at the webserver.go file on the repo, all endpoint are hard coded to zone/1/config so that pretty much normal.

So it would be to make it dynamic like the Infinitude project is built by using the zone_id instead of using a static zone value

The difference between infinitive and infinitude is that the infinitude project is hitting an API hosted on the WiFi thermostat. Infinitive is talking directly to the serial bus.

Because infinitude can use their API it’s pretty simple to use multiple zones in HA because Carrier/Bryant explicitly exposed those API endpoints.

What infinitive is using of the serial protocol has been reverse engineered by people way smarter than me, lol. My understanding is that no one has reverse engineered the part of the protocol that handles multiple zones. I’m sure it can be done if somebody has the time and resources to commit to it. If you’ve got an idea for handling that piece I’m sure the infinitive project would gladly take a PR.

Once Infinitive itself knows how to handle the multiple zones we can definitely pull it into HA.

I’m sorry if that’s not the response you were hoping for. I’ve read into reverse engineering that protocol and I currently don’t have the skill to help them on that.

I can’t read Go properly but in the table.go file, I noticed that all the values for all 8 zones (Infinity system can support up to 8 zones) were listed there.

I’d test it myself but I can’t figure out for the love of god how to obtain a release version to try on my setup if I managed to find something. Would you mind help me with the steps to follow ? (FYI I can go as far as go build

Sure! Can’t promise I’ll be of much help but I’ll do what I can.

One thing I did notice yesterday. I currently have my RS-485 connected to my HVAC as instructed in the doc but I was wondering if I could connect it to the Damper Control Module instead as it gives me access to both thermostat (1 per zone) and therefore I’d simply install a second RS-485 and run 2 infinitive instance on my Pi and be done with it.


Here’s the documentation about the module in case you have any questions :

@mww012 hope all is well! Been a while since I bugged you about Infinitive! :wink:

I noticed the other day that what used to show up as a single thermostat entity in HomeKit (passed from HoneAssistant) is now showing a thermostat entity and a fan entity in HomeKIt (Apple Home App). This would be cool, but the status of the fan is not accurate - it shows always on.

Have you seen this? I can’t recall if you are using HomeKit with HA.

Thanks!

1 Like

I use it with HomeKit and noticed the fan entity also, but my fan shows off (but probably because the system is off). I’ll have to check it next time I turn it on

Hey @scott.parmenter. I think this came in with the 2022.3 update. I’ve glanced through the release notes but didn’t see anything specific to this as far as HomeKit updates are concerned. I am see it though.

Mine seems to be working mostly fine. It controls the fan speed to high/med/low and can enable/disable auto. I see those changes reflected on the thermostat when I change it on my phone. What it can’t do is turn the fan off but not even the infinitive web ui does that for my system.

What’s the behavior you’re seeing when you make a change in the home app on your phone?

@mww012 thanks for the response. I too see that I can now control the fan through HomeKit. The issue I’m seeing is the fan always shows on in HomeKit even when it is not.