Ok found the issue. It was indeed a difference between residential and commercial models.
I’ll work on a fix for the upstream library to support this, but in the meantime can you make the following 2 changes to:
/srv/homeassistant/lib/python3.5/site-packages/venstarcolortouch/venstarcolortouch.py
line 77: Add- self.hum_active = None
line 140: Delete- self.away = self.get_info(“away”)
Just get rid of line 140 altogether- we’re not using it in HASS right now anyway, and add line 77. That should get you going!
For clarification, commercial models don’t have an “away” mode like the residential models do. They have a “holiday” mode instead. Right now we’re not really doing anything with that info in hass anyway.
I bought the Venstar Mini T2000 and it can only report in Celsius. I pinged the Venstar developers and they said that all future models will be Celsius only.
I’m looking at throwing a quick hack into the module but it would be nice if this was a configurable option.
e.g. in hass config “tempunits = C” or “tempunits = F”
Then the code would check the tempunits reported by the API. If 0 and hass wants F, do the math. If 0, hass = C, do nothing. If 1 and hass wants C, do the math…and so on.
I apologize if this is off topic - is there any way to get rid of the AWAY mode? I have T6800 commercial one and have the error - Venstar T6800 thermostat not seen by HA
I will create a custom component if anyone would be kind enough to assist on what to modify.
Thank you in advance.
I have a Venstar commercial thermostat ColorTouch T8900, the VenstarColorTouch set_control() method doesn’t work with it, I get the following error:
curl -d ‘mode=2&fan=0&heattemp=55.0&cooltemp=77.0’ http://hvac-upstairs/control
{“error”:true,“reason”:“Fan change is not allowed when running schedule”}
Removing ‘fan=0&’ from the URL addresses the issue:
This is also the case for Explorer Mini T2000. RESTful API and python module works as expected, i.e., reports halves in Celcius, but the HA component rounds-up the values.
I simply took alekseyn’s custom component and changed the return code to HALVES.
Works flawlessly.
I proposed the specific change ages ago and no one picked it up other than to claim it was a limitation of the API .
Actually contributing to the component is beyond my comfort zone and skill level so this will suffice for now.
The ‘Away’ corresponds to the “away/vacation” setpoints. ‘Temperature’ should be the standard daily schedule and ‘none’ would be a fixed temperature (no schedule). I will try to confirm in the next couple of days.
Correct answer is:
The ‘none’ mode is running the schedule
The ‘temperature’ mode is running whatever the setpoint was when the preset changed
The ‘away’ mode runs the setpoints from the vacatio/away tab
Was wondering if anyone else is has overcome the issue with the API reporting in C while trying to control in F. For instance, if I try to set to 70 in HASS the thermostat will bump to 71, setting to 71 will bump to 72, etc…I assume this is due to rounding in the conversion from F (in lovelace) to C (via the API) and back to F at the thermostat.
@nholben I wanted to see if you or anyone else has solved the issue with C/F conversion - I have been working on it and it seems that despite having the units set to F on the thermostat it is reporting and receiving units in C which messes up the control
I haven’t figured it out yet…so far just enabling the Skyport access keeps the Wife-Approval-Factor in the black.
I’m convinced it would be as simple as subtracting half a degree from the input (F) so the converted value (almost) always rounds the correct way. But I’m not smart enough with templates and stuff to figure it out on my own.
I am VERY new to HA, and am trying to incorporate (2) Venstar T5900’s. How can I trigger an Automation when the thermostat goes into Cooling Mode. When I look at the State trigger, i can only trigger off of attributes, not the main state. I must be doing something wrong. I was going to use hvac_mode but it only changes when the thermostat is actively heating or cooling, which seems like a bug to me.