Nexia and Trane XL1050 / XL850 thermostat

I guess my compressor is multi stage but not variable–2 cooling stages and 3 for heat. It’s the blower fan that’s variable.

It’s been a bit since the last activity. Any issues? Everything working well? Should I work on getting this pushed into Home Assistant officially?

Seems to have been working fine recently. Would still want to look at getting the air cleaner mode in as that’s something I want to automate. Haven’t had any time to look into it, though.

I figured I would look into it real quick. Wasn’t hard at all to add.

1 Like

Been hoping this would come along for awhile! Thanks Ryan for all your work on this!

I have two nexia stats, and I am able to see the sensors for both. For some reason tho I can only create a Thermostat Card for one unit. Screenshot below, hopefully this tells the story. Any ideas?

Heads up for this upcoming rewrite of the climate component.

https://github.com/home-assistant/home-assistant/pull/23899

Any ideas as to why the Thermostat card doesn’t show icons under the state, like is shown on the Lovelcase Thermostat card page?

image

@ryannazaretian Did you have plans to update the component to match the new Climate changes? I’m holding off upgrading to 0.96 since that will break the Nexia component.

Let me know if you want help, I’ll have some time over the weekend.

//Tomi B.

Yes, it breaks it… I had to remove it for now…

Had to catch a break from work and from a two-year-old. :slight_smile:

Working on it now. Will hopefully have a new version out later this morning.

I’m hitting some snags with updating the code.

I pushed the update for 0.96. I’m not 100% happy with the display of it, but I think that’s the way it is. Basically it seems to show “None” for the preset all the time because that’s what the thermostat reports. The more helpful one is the setpoint status, but it won’t display correctly there, and it breaks the “preset” listbox.

Hi Ryan, getting some errors on the thermostat ID (have 2 units)

The messages below loops every few mins. Also I dont get any climate entities so cannot set the card.

IndexError: More than one thermostat detected. You must provide a thermostat_id
2019-08-06 21:25:02 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/srv/homeassistant/lib/python3.7/site-packages/homeassistant/helpers/entity.py", line 226, in async_update_ha_state
    self._async_write_ha_state()
  File "/srv/homeassistant/lib/python3.7/site-packages/homeassistant/helpers/entity.py", line 256, in _async_write_ha_state
    attr.update(self.state_attributes or {})
  File "/srv/homeassistant/lib/python3.7/site-packages/homeassistant/components/climate/__init__.py", line 221, in state_attributes
    data[ATTR_AUX_HEAT] = STATE_ON if self.is_aux_heat else STATE_OFF
  File "/home/homeassistant/.homeassistant/custom_components/nexia/climate.py", line 269, in is_aux_heat
    self._thermostat_id) else "off"
  File "/home/homeassistant/.homeassistant/custom_components/nexia/nexia_thermostat.py", line 674, in is_emergency_heat_active
    if self.has_emergency_heat():
  File "/home/homeassistant/.homeassistant/custom_components/nexia/nexia_thermostat.py", line 590, in has_emergency_heat
    thermostat_id)
  File "/home/homeassistant/.homeassistant/custom_components/nexia/nexia_thermostat.py", line 312, in _get_thermostat_key
    thermostat = self._get_thermostat_json(thermostat_id)
  File "/home/homeassistant/.homeassistant/custom_components/nexia/nexia_thermostat.py", line 301, in _get_thermostat_json
    "More than one thermostat detected. You must provide a "
IndexError: More than one thermostat detected. You must provide a thermostat_id

Crazy how that wasn’t caught before!

I pushed a fix, but it’s difficult for me to test since I only have a single thermostat.

Thanks for all of the hard work. For some reason, I’m not getting any climate entities when I update the code. My logs show this error: Platform not found: climate.nexia

This is what I am getting in the logs and no climate entity either…


2019-08-07 07:24:23 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/srv/homeassistant/lib/python3.7/site-packages/homeassistant/helpers/entity.py", line 226, in async_update_ha_state
    self._async_write_ha_state()
  File "/srv/homeassistant/lib/python3.7/site-packages/homeassistant/helpers/entity.py", line 256, in _async_write_ha_state
    attr.update(self.state_attributes or {})
  File "/srv/homeassistant/lib/python3.7/site-packages/homeassistant/components/climate/__init__.py", line 221, in state_attributes
    data[ATTR_AUX_HEAT] = STATE_ON if self.is_aux_heat else STATE_OFF
  File "/home/homeassistant/.homeassistant/custom_components/nexia/climate.py", line 269, in is_aux_heat
    self._thermostat_id) else "off"
  File "/home/homeassistant/.homeassistant/custom_components/nexia/nexia_thermostat.py", line 677, in is_emergency_heat_active
    raise Exception("This system does not support emergency heat")
Exception: This system does not support emergency heat
2019-08-07 07:24:23 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/srv/homeassistant/lib/python3.7/site-packages/homeassistant/helpers/entity.py", line 226, in async_update_ha_state
    self._async_write_ha_state()
  File "/srv/homeassistant/lib/python3.7/site-packages/homeassistant/helpers/entity.py", line 256, in _async_write_ha_state
    attr.update(self.state_attributes or {})
  File "/srv/homeassistant/lib/python3.7/site-packages/homeassistant/components/climate/__init__.py", line 221, in state_attributes
    data[ATTR_AUX_HEAT] = STATE_ON if self.is_aux_heat else STATE_OFF
  File "/home/homeassistant/.homeassistant/custom_components/nexia/climate.py", line 269, in is_aux_heat
    self._thermostat_id) else "off"
  File "/home/homeassistant/.homeassistant/custom_components/nexia/nexia_thermostat.py", line 677, in is_emergency_heat_active
    raise Exception("This system does not support emergency heat")
Exception: This system does not support emergency heat

lamandrive, make sure you remove and pull all the files again. I had that error before upgrading to Ryan’s latest update last night.

1 Like

I think the float error is new…

  File "/home/homeassistant/.homeassistant/custom_components/nexia/nexia_thermostat.py", line 698, in get_outdoor_temperature
    self._get_thermostat_key('outdoor_temperature', thermostat_id))
ValueError: could not convert string to float: '--'

That’s a new one for me… How hot or how cold is it there?!?

I’m guessing the sensor is out of range, and then returns “–”. I’m going to check that what’s returned is numeric, and then return a float. Otherwise, return nan.

Found that issue… that is a new bug I put in with this release.