Custom Component: Carrier Infinity Touch control via Infinitude

Will there be an update to this custom component prior to the release of 2021.6?
Otherwise, is there anything we can do as the end user to maintain proper functioning?

Just updated the component to include a version tag. Error is no longer shown.

1 Like

I have a large infinity system (10 zones across two systems). Was finally able to get everything up and going - but I seem to have run into an odd issue (a similar issue I had trying to integrate Smartthings with Infinitude).

Iā€™m trying to set the thermostat mode to either ā€œhomeā€ or ā€œawayā€ based on motion sensors. The code below is to set a thermostat to away after 15 minutes of no motion activity.

The automation runs, but what happens is that the thermostat mode is changed to ā€œawayā€ for only about 10 seconds. Is then resets itself to ā€œholdā€ at the temperature previously set in home mode.

Does anyone know why this would be happening?

alias: Thermostat - 0Office Motion (Away Mode)
description: ''
trigger:
  - type: no_motion
    platform: device
    device_id: ffc0a8237dfefb1231217b6b622b30f5a0
    entity_id: >-
      binary_sensor.mzone_0office_motion_for_thermostat_on_basement_west_67_motion
    domain: binary_sensor
    for:
      hours: 0
      minutes: 15
      seconds: 0
      milliseconds: 0
action:
  - service: climate.set_preset_mode
    target:
      entity_id: climate.0_office
    data:
      preset_mode: away
mode: single
max: 10

I canā€™t comment on your particular issue but I have a similar phenomenon.

I have two units running two parallel integrations reporting to ip address ports 3000 and 3001.

If I send a set home command to 3000 it works, but 3001 doesnā€™t work. Shortly thereafter system 3000 returns to hold.

Keep in mind that I can adjust temperatures to both systems with no issue. Itā€™s only the set mode that doesnā€™t work correctly.

Hi. Thanks for the Great work. Looking forward to installing this on my system. Iā€™m new to HA and having issues with the manual install.
Iā€™ve copied the folder as suggested manually into custom_components but nothing seems to happen in HA.
Am I supposed to launch or start after manually adding the infinitude folder?

Also, is there a place where I need to enter Carrier credentials? Or will that happen as part of configuration?

Iā€™m running HA on a pi4.

Did you create the proxy server?

No, this must be the issue. I donā€™t see any instructions on creating infinitude proxy server.

Can you point me in the direction for setting up the infinitude proxy?

Thanks in advance.

I have also added this using HACS, as per your instructions. I have installed the repo but do not find the integration.
I thought i would find the new integration after adding the repo through HACS.

The easiest method is to create a docker image. I found Portainer (HA addon) to be my preferred method as my Docker skills are limited.

The following link should get you going.

You can test the proxy server by navigating to you HA ip address plus the port number. If the proxy is working you will see the landing page and can actually control the thermostat.

Example : http://10.0.0.xxx:3000

NOTE: Donā€™t forget to point your thermostat to the proxy server address. You can do that under the menu ā†’ Network (recalling from memory).

Once the proxy server is running you simply add the following to your config.yaml.


climate:
  - platform: infinitude
    host: ip-address
    port: 3000
    zone_names:
      - 'Bryant Down'

The integration would still need to be configured via YAML in order to work. It needs to be configured to connect to the infinitude proxy server from GitHub - nebulous/infinitude: Open control of Carrier/Bryant thermostats

THANK YOU SO Much!
i will keep at this and reply back with any issues.

Thanks again for your help and the good work!

Iā€™m new here but Iā€™m just lost about how to create this proxy infinitude server. Similarly to et2frank, Iā€™ve installed the repo from HACS but am not really sure about my docker iamge.

I installed portainer and have the scyto/infinitude:latest image(?) installed. It says my IP is x. Is that what I use to update the configuration.yaml file?

climate:

  • platform: infinitude

    host: x

I tried that but I donā€™t seem to see any ā€œclimateā€ entity?

The first step Is to get the proxy running correctly. Assuming the docker is installed correctly, did you configure it? Going from memory I think you need to set the network environment to bridge.

If the proxy is working you should be able to navigate to the following address in a browser.

http://x.x.x.x:3000

Where the x.x.x.x is your home assistant ipaddress and the port is the default. If you canā€™t see the proxy that needs to be addressed.

If it works then you need to point the thermostat to the proxy. On the thermostat itself you enter into the network settings and point the proxy setting to http://x.x.x.x:3000.

Then install the integration using Hacs and add the lines to configuration.yaml.


climate:
  - platform: infinitude
    host: ipaddress of HA. 
    port: 3000

Then restart HA.

Donā€™t use the IP address that Portainer assigns.

You use the IP address of your home assistant instance plus port number 3000. Typically this is the default port.

Thanks for the info.

I updated my yaml configuration to a more ā€œcorrectā€ set of settings I think.

What ā€˜configurationā€™ do I need to do with the proxy? I thought all that was needed was to get the container running? Below are my home-assistant.log items after restartingā€¦this is more than I had before I modified the config, so I assume this is progress?

2021-06-30 08:08:24 ERROR (MainThread) [homeassistant.components.climate] Error while setting up infinitude platform for climate
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/urllib/request.py", line 1354, in do_open
    h.request(req.get_method(), req.selector, req.data, headers,
  File "/usr/local/lib/python3.8/http/client.py", line 1252, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/local/lib/python3.8/http/client.py", line 1298, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/local/lib/python3.8/http/client.py", line 1247, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/local/lib/python3.8/http/client.py", line 1007, in _send_output
    self.send(msg)
  File "/usr/local/lib/python3.8/http/client.py", line 947, in send
    self.connect()
  File "/usr/local/lib/python3.8/http/client.py", line 918, in connect
    self.sock = self._create_connection(
  File "/usr/local/lib/python3.8/socket.py", line 808, in create_connection
    raise err
  File "/usr/local/lib/python3.8/socket.py", line 796, in create_connection
    sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 250, in _async_setup_platform
    await asyncio.shield(task)
  File "/usr/local/lib/python3.8/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/config/custom_components/infinitude/climate.py", line 106, in setup_platform
    status = infinitude.status()
  File "/config/custom_components/infinitude/climate.py", line 166, in status
    status = self.api("/api/status")
  File "/config/custom_components/infinitude/climate.py", line 160, in api
    with request.urlopen(req) as response:
  File "/usr/local/lib/python3.8/urllib/request.py", line 222, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/local/lib/python3.8/urllib/request.py", line 525, in open
    response = self._open(req, data)
  File "/usr/local/lib/python3.8/urllib/request.py", line 542, in _open
    result = self._call_chain(self.handle_open, protocol, protocol +
  File "/usr/local/lib/python3.8/urllib/request.py", line 502, in _call_chain
    result = func(*args)
  File "/usr/local/lib/python3.8/urllib/request.py", line 1383, in http_open
    return self.do_open(http.client.HTTPConnection, req)
  File "/usr/local/lib/python3.8/urllib/request.py", line 1357, in do_open
    raise URLError(err)
urllib.error.URLError: <urlopen error [Errno 111] Connection refused>

I just noticed a typo in my original post.

replace the semi-colon with a colon

climate:

Before you do anything else do the following.

Open an internet browser and enter the following address and tell me what you see.

http://ipaddress:3000

where the ipaddress is your HA server.

That gives me a connection refused message. I guess I also should make sure I am using the right IP. I assume the IP to use is the one that comes up in the HA vm image console when you start it and thatā€™s the one Iā€™ve entered into my config:

climate:
  - platform: infinitude
    host: 192.168.1.212
    port: 3000

That looks correct to me.

Can you confirm the docker container is running? Check portainer.

Also you can check the container logs through Portainer.

How do you navigate to HA?

http://hassos.local:8123

or

http://192.168.1.212:8123