Venstar T-2000 Simple Thermostat Card

I have two Venstar thermostats, T-7900 and a T-2000 both using the custom:simple-thermostat card. They have been functioning correctly for several months. Since it is summer, both thermostats have been placed in the “off” mode. When in the “off” mode the ‘temp setting’ fields of the card indicate “N/A” which is not ideal but not a problem for me. Several days ago I decided to add fan control to the T-7900. It was simple to do and worked, although does not support the ventilation fan program functionality of the thermostat. Again, not a huge issue.
Here is where the problem enters. I happened to switch the T-2000 to the “auto” mode and discovered that the set temperature and the reported sensor temperature was north of 150⁰. I knew it was warm but 150⁰?
I have tried different thermostat cards to see if it was related but the result was the same. To reiterate, the T-7900 is still reporting correctly. Making http inquiries to either thermostat returns the temperature correctly, i.e. it reflects the temperature displayed on the thermostat. I did the calculations and it appears that, while the temperature is being correctly reported in ⁰F, in both cases, the HA thermostat cards are reconverting the reading as though it was ⁰C to ⁰F. Thus 67⁰F becomes 153⁰.
I have posted the card code here, although it seems unlikely to be the problem given multiple thermostat cards have the same result and that only one thermostat has a problem.


type: custom:simple-thermostat
entity: climate.pellet_stove
card-mod: null
style: |
 ha-card {
 --st-font-size-sensors: 16px;}
layout:
 step: row
 mode:
   icons: true
header:
 name: Pellet Stove
 icon: mdi:home-thermometer-outline
sensors:
 - entity: sensor.ps_heat_time_hm
   name: Heat Time
   unit: h:m
control:
 hvac:
   cool: false
   auto: false
 preset:
   none:
     name: Sched Run
   away: true
   temperature:
     name: Sched Off
step_size: '1'
decimals: '0'

Running core-2022.6.5 in Docker

Update:

The Venstar integration page indicates no open issues and 12 closed issues. Multiple of the ‘closed’ issues are exactly the issue that is the subject of this post. It is quite apparent that this problem still exists and it escapes me why the issues are ‘closed.’ In correcting a long standing firmware error in the T-2000 thermostat, this problem has arisen due to a ‘code fix’ in the Venstar integration to handle the firmware API problem.
This has yet to be fixed in the integration. How is this a ‘closed’ issue?

FWIW, I am encountering a similar issue on my T-2000. Current temperature on the UI is 165 deg F.
I deleted the venstar integration and recreated but still the current temperature is not valid.

http://192.168.1.235/query/info
{“name”:“LIVING ROOM”,“mode”:2,“state”:3,“activestage”:0,“fan”:0,“fanstate”:0,“tempunits”:0,“schedule”:0,“schedulepart”:3,“away”:0,“spacetemp”:75.0,“heattemp”:68.0,“cooltemp”:74.0,“cooltempmin”:35.0,“cooltempmax”:99.0,“heattempmin”:35.0,“heattempmax”:99.0,“setpointdelta”:2,“availablemodes”:0}’

Version core-2022.6.7
Installation Type Home Assistant OS
Development false
Supervisor true
Docker true
User root
Virtual Environment false
Python Version 3.9.12
Operating System Family Linux
Operating System Version 5.15.45
CPU Architecture x86_64

This was caused when Venstar updated the T-2000 firmware. Previously, the firmware always reported temperature value as ⁰C from the API. The new firmware reports temperature according to the local thermostat setting, i.e. either ⁰C or ⁰F. Because code was added to the integration to handle the conversion to ⁰F to accommodate the previous firmware, the integration is now treating the reported temperature as ⁰C despite it being ⁰F. You can do the conversion to see that your 150⁰+ reading is the result.
New code has apparently been written but I suppose it has to go through the verification/ approval process before the new version is released.

Thanks for the info. My T-2000 is at firmware version 5.28 which is the problem firmware.
Here is the code that has been changed where they now check the firmware version for T2* and T3* models.

I have upgraded to core-2022.7 and I opened the venstarcolortouch.py and can see the fix is in place.
However, now the venstar component is broken.

Issue opened on 2022.7.3.

I commented out the 2 lines he points to and restarted, venstar thermostat is now working.

I have seen the corrective code but my problem is that none of the files involved are visible on my Docker container version which is currently stuck at ver. 2022.6.5. So far there is no upgrade available to the 2022.7 version for my Asustor NAS.

Probably not much help, but I updated vestarcolortouch.py by using ‘docker exec -it homeassistant bash’ and found the file under /usr/local/lib/python-3.10/site-packages/venstarcolortouch.

I edited the file and restarted homeassistant (warm not cold). I think the change will be lost if you do a cold (power cycle) restart.

Just a thought…FWIW


Logger: homeassistant.components.venstar.const
Source: components/venstar/__init__.py:88 
Integration: Venstar (documentation, issues) 
First occurred: 8:26:43 AM (461 occurrences) 
Last logged: 6:37:31 PM

Unexpected error fetching venstar data: could not convert string to float: '2.22.19'
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 205, in _async_refresh
    self.data = await self._async_update_data()
  File "/usr/src/homeassistant/homeassistant/components/venstar/__init__.py", line 88, in _async_update_data
    await self.hass.async_add_executor_job(self.client.update_info)
  File "/usr/local/lib/python3.10/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/local/lib/python3.10/site-packages/venstarcolortouch/venstarcolortouch.py", line 173, in update_info
    if not self.login():
  File "/usr/local/lib/python3.10/site-packages/venstarcolortouch/venstarcolortouch.py", line 112, in login
    self._firmware_ver = float(j["firmware"])
ValueError: could not convert string to float: '2.22.19'

My Venstar stopped working as well, and I am ashamed to admit I did not notice when.

I have a T3800 on firmware 2.22.

I would note the issue we have been hi-lighting here has been documented as an issue. The initial symptom was an invalid display of temperature in deg F in the home assistant front end due to a Venstar firmware update that changed the API’s return of current temperature (and other readings?).

The fix that was merged ended up with a 2nd breakage.
Its failure signature is the trace-back :

File “C:\x\py\Lib\site-packages\venstarcolortouch\venstarcolortouch.py”, line 207, in update_info
self.hum_setpoint = self.get_settings(“hum_setpoint”)
File “C:\x\py\Lib\site-packages\venstarcolortouch\venstarcolortouch.py”, line 272, in get_settings
setting = r.json()[attr]
KeyError: ‘hum_setpoint’

At this point, I am on the latest home assistant core release and this latest problem has not been resolved.
I see that it has been addressed in a recent merge in the Venstar python module:

However, this has not been propagated into home assistant.

The Docker installation maintainer for my AsuStor NAS has released the HA update to 2022.7.x which I have now installed. This has cleared the fault initially reported, i.e. double conversion of the local thermostat temperature reading.
This is for me, resolved.

Just updated to core-2022.7.6, my problem with the T-2000 is fixed.

Fixed for me as well, thanks