Custom Component: Carrier Infinity Touch control via Infinitude

Can’t speak to other devices and firmwares, but Infinitude has always worked fine in my system, and continues to without issue.

This new plugin is fantastic!
The support for hold indefinitely, hold until next activity are very much welcome!
Adding the thermostat as Infinitude System with the airflow, vent and humidifier states is a great idea

I can confirm this solved the strange latency issues I was experiencing with setting a new temperature and it not always setting. After upto 30 seconds it would sometime revert. No longer does this happen with the new plugin.

I’m seeing an error message when changing the temperature or preset and will open an issue. It doesn’t appear to effect the operation of the plugin.

:+1: from a long time user of your work

Oh there’s a new service too!

But shouldn’t it have a set temperature mode? or is that now handled by the climate.set_temperature service?

Thank you for the kind words - much appreciated!

I need to make some updates to the debug logging to capture details about your error. I’ll get that posted as soon as I can. At least it isn’t causing functional issues.

This service existed in the older integration as well, to reflect the unique way that Infinity thermostats handle holds.

For temperature, just use the climate.set_temperature.

Fixed the issues with the errors. I had a very old docker container of Infinitude which had a persistant volume. Below away the volume and its not erroring anymore.

Couple of change requests while I’m here;

  1. Make the Outside temperature conditional on if cfgem is set to Celsius. Mine is but the Infinitude System isn’t converting it.
    sensor.infinitude_system_outside_temperature: 47 °C
"cfgem": [
"C"
],

I’ve had to do it with my old template, but it should be conditional on the value of cfgem from /api/status

  scan_interval: 600
  resource: http://192.168.x.y:3000/api/status/oat
  name: "HVAC Outside Temperature"
  value_template: " {{ (value_json.oat | int -32) * 0.5556 }}"
  unit_of_measurement: °
  1. Missing a sensor.{zone}_zoneconditioning and sensor.{zone}_damperposition
- platform: template
  sensors:
    downstairs_condition:
      friendly_name: "downstairs Zonecondition"
      value_template: "{{ state_attr('sensor.infinitude_downstairs_status', 'zoneconditioning')[0]  }}"
    downstairs_damper:
      friendly_name: "downstairs Damper"
      value_template: "{{ state_attr('sensor.infinitude_downstairs_status', 'damperposition')[0]  }}"
      unit_of_measurement: axis

I tried the new integration but could not get the set up going. Getting this error on trying to set it up:

2024-07-02 18:45:04.848 ERROR (MainThread) [custom_components.infinitude_beyond.config_flow] Unexpected exception
Traceback (most recent call last):
  File "/config/custom_components/infinitude_beyond/config_flow.py", line 64, in async_step_user
    await validate_input(self.hass, user_input)
  File "/config/custom_components/infinitude_beyond/config_flow.py", line 43, in validate_input
    await infinitude.connect()
  File "/config/custom_components/infinitude_beyond/infinitude/api.py", line 174, in connect
    status, config, energy, profile = await asyncio.gather(
                                      ^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/infinitude_beyond/infinitude/api.py", line 165, in _fetch_profile
    data = resp.get("system_profile", {})
           ^^^^^^^^
AttributeError: 'float' object has no attribute 'get'

The old integration is still working but with a lot of warnings from home assistant (v 2024.6.1) about things getting deprecated.
I had an old version of the backend running, to rule out issues with that I now updated to the latest.but running into the above issue. Note that my carrier thermostat is a bit old (not sure if that is an issue).
Can you help @MizterB ?

Really appreciate your work MizterB, so just wanted to say thank you very much for everything you’ve done for us over the years!

I had a question about the new infinitude beyond and am hoping its a simple solution or something I’m just overlooking.

I have two thermostats, and with the old infinitude, I had two containers running the server and was able to create two separate folders in ‘custom_components’ along with two different yaml entries pointing to each one.

With infinitude beyond, would I need to do the same? I’m not sure how to point to each folder/instance (ie. infinitude_beyond, infinitude_beyond_2) through the UI.

@moto2000 It depends on your setup…if you are running multiple instances of the Infinitude server, then you just add multiple instances of the Infinitude Beyond integration under in HA’s Integration Settings GUI.

If you have multiple thermostats/zones in defined in a single Infinitude server, you just need to add that single server in HA’s Integration Settings GUI. Infinitude Beyond will detect all enabled zones and create a device for each zone.

1 Like