Venstar ColorTouch Thermostat Plugin Discussion

Plugins and other miscellany for Indigo.
jshields
Posts: 39
Joined: Sat Nov 08, 2003 10:12 pm

Re: Venstar ColorTouch Thermostat Plugin Discussion

Post by jshields »

sorry it took me so long to reply. I got side-tracked on other things and didn't get back to the forum for a while

So when sending your list of commands, they all work except the query/info one which crashes the thermostat. It does not return any data and the browser can't connect to that page, most likely due to the crash.

It certainly seems like Venstar should be able to reproduce this easily unless it's actually a problem in my thermostat itself. I'll ping them again to see what they say.

Jerry
User avatar
raneil
Posts: 90
Joined: Fri Feb 11, 2011 12:06 pm
Location: Grapevine, Texas

Re: Venstar ColorTouch Thermostat Plugin Discussion

Post by raneil »

No problem. Thanks for responding. It sure sounds like there's something wrong with your thermostat, though.

As mentioned previously, I received a response pretty quickly last time I used this email address: developersupport@venstar.com.

Good luck, keep us posted!
rhanson
Posts: 193
Joined: Tue Apr 30, 2013 6:31 pm

Re: Venstar ColorTouch Thermostat Plugin Discussion

Post by rhanson »

Hi there,

I've been using this plugin for about a year, and happy to report no issues.

However, there is one item that pops up in the event log a few times a day:

Code: Select all

2016-04-22 10:00:07	ColorTouch Thermostat Error	Error in plugin execution ExecuteAction:

Traceback (most recent call last):
 File "plugin.py", line 1204, in actionControlThermostat
 File "plugin.py", line 419, in _handleChangeSetpointAction
<type 'exceptions.KeyError'>: ('cooltemp',)

2016-04-22 10:00:07	ColorTouch Thermostat	sending "Thermostat Kitchen" change cool setpoint to 25.0
It doesn't seem to cause any problems, but just thought you'd like to be aware.

Here's a list of the states in the device, just in case they vary from model to model (T7850, api v5):

Code: Select all

>>> t = indigo.devices[1431507005] # "Thermostat Kitchen"
>>> print t.states
States : (dict)
     ctAlertAirFilter : off (on/off bool)
     ctAlertService : off (on/off bool)
     ctAlertUVLamp : off (on/off bool)
     ctAlertsUpdated : 2016-04-22 09:58:16 (string)
     ctLastUpdate : 2016-04-22 10:08:01 (string)
     ctLastUpdate.ui : 04/22/16, 10:08 AM (string)
     ctRuntimes : [{"cool1": 0, "cool2": 0, "ts": "2016-04-15 00:00:00", "fc": 0, "heat2": 0, "heat1": 0, "aux2": 0, "aux1": 0}, {"cool1": 0, "cool2": 0, "ts": "2016-04-16 00:00:00", "fc": 0, "heat2": 0, "heat1": 0, "aux2": 0, "aux1": 0}, {"cool1": 0, "cool2": 0, "ts": "2016-04-17 00:00:00", "fc": 0, "heat2": 0, "heat1": 0, "aux2": 0, "aux1": 0}, {"cool1": 0, "cool2": 0, "ts": "2016-04-18 00:00:00", "fc": 0, "heat2": 0, "heat1": 0, "aux2": 0, "aux1": 0}, {"cool1": 47, "cool2": 0, "ts": "2016-04-19 00:00:00", "fc": 0, "heat2": 0, "heat1": 0, "aux2": 0, "aux1": 0}, {"cool1": 5, "cool2": 0, "ts": "2016-04-20 00:00:00", "fc": 0, "heat2": 0, "heat1": 0, "aux2": 0, "aux1": 0}, {"cool1": 50, "cool2": 0, "ts": "2016-04-20 18:58:34", "fc": 0, "heat2": 0, "heat1": 0, "aux2": 0, "aux1": 0}] (string)
     ctRuntimesUpdated : 2016-04-20 18:58:35 (string)
     ctScheduleFolders :  (string)
     ctScheduleMode : 0 (integer)
     ctScheduleModeDescription : None (Off) (string)
     ctSensors : [{"name": "Thermostat", "temp": 24.0}, {"name": "Outdoor", "temp": -39.0}] (string)
     ctSensorsUpdated : 2016-04-20 18:58:35 (string)
     ct_availablemodes : 0 (integer)
     ct_away : off (on/off bool)
     ct_cooltempmax : 37 (real)
     ct_cooltempmin : 1.5 (real)
     ct_dehum_setpoint : 0 (integer)
     ct_heattempmax : 37 (real)
     ct_heattempmin : 1.5 (real)
     ct_hum_setpoint : 0 (integer)
     ct_name : Kitchen (string)
     ct_schedule : off (on/off bool)
     ct_schedulepart : 255 (integer)
     ct_schedulepart.ui : Inactive (string)
     ct_setpointdelta : 2 (real)
     ct_spacetemp : 23.5 (real)
     ct_state : 0 (integer)
     ct_tempunits : 1 (integer)
     hvacCoolerIsOn : off (on/off bool)
     hvacDehumidifierIsOn : off (on/off bool)
     hvacFanIsOn : off (on/off bool)
     hvacFanMode : 0 (integer)
     hvacFanModeIsAlwaysOn : false (bool)
     hvacFanModeIsAuto : true (bool)
     hvacHeaterIsOn : off (on/off bool)
     hvacHumidifierIsOn : off (on/off bool)
     hvacOperationMode : 3 (integer)
     hvacOperationModeIsAuto : true (bool)
     hvacOperationModeIsCool : false (bool)
     hvacOperationModeIsHeat : false (bool)
     hvacOperationModeIsOff : false (bool)
     hvacOperationModeIsProgramAuto : false (bool)
     hvacOperationModeIsProgramCool : false (bool)
     hvacOperationModeIsProgramHeat : false (bool)
     setpointCool : 36 (real)
     setpointHeat : 14 (real)
     temperatureInput1 : 23.5 (real)
     temperatureInputsAll : 23.5 (string)
>>> 
User avatar
raneil
Posts: 90
Joined: Fri Feb 11, 2011 12:06 pm
Location: Grapevine, Texas

Re: Venstar ColorTouch Thermostat Plugin Discussion

Post by raneil »

rhanson wrote:Hi there,

I've been using this plugin for about a year, and happy to report no issues.

However, there is one item that pops up in the event log a few times a day:

Code: Select all

2016-04-22 10:00:07	ColorTouch Thermostat Error	Error in plugin execution ExecuteAction:

Traceback (most recent call last):
 File "plugin.py", line 1204, in actionControlThermostat
 File "plugin.py", line 419, in _handleChangeSetpointAction
<type 'exceptions.KeyError'>: ('cooltemp',)

2016-04-22 10:00:07	ColorTouch Thermostat	sending "Thermostat Kitchen" change cool setpoint to 25.0
It doesn't seem to cause any problems, but just thought you'd like to be aware.
Hmm... that's a first. Can you provide some context? It would appear that the plugin was responding to a setpoint change request. Is that right? If so, from where? A Control Page, the Indigo Client UI, a python command? Just curious as to what may have precipitated this error.

Thanks for the report -- keep 'em coming!
rhanson
Posts: 193
Joined: Tue Apr 30, 2013 6:31 pm

Re: Venstar ColorTouch Thermostat Plugin Discussion

Post by rhanson »

Nothing terribly exciting. Upon any change of room occupancy, the following commands are sent to 2 tstats, in this order. Everything is done via python script, I don't really use Indigo's triggers and events engine.

Code: Select all

indigo.thermostat.setHeatSetpoint(tstat, value=adjustedHeatSetpoint)
indigo.thermostat.setCoolSetpoint(tstat, value=adjustedCoolSetpoint)
indigo.thermostat.setHvacMode(tstat, value=indigo.kHvacMode.HeatCool)
indigo.thermostat.setFanMode(tstat, value=indigo.kFanMode.Auto)
These commands are probably sent about 20-30 times per day without issue. Once in a while, I see the error mentioned earlier in the log. I also see Err64 Host is down sometimes, so I'm going to chalk it up to some flaky comms on the LAN.
User avatar
raneil
Posts: 90
Joined: Fri Feb 11, 2011 12:06 pm
Location: Grapevine, Texas

Re: Venstar ColorTouch Thermostat Plugin Discussion

Post by raneil »

rhanson wrote:These commands are probably sent about 20-30 times per day without issue. Once in a while, I see the error mentioned earlier in the log. I also see Err64 Host is down sometimes, so I'm going to chalk it up to some flaky comms on the LAN.
I see. That must be it then.

You might consider sending all four parameters in a single call by using the "setSpecificMode" action. It would definitely be more efficient, and the reduced I/O would theoretically lower the odds of a comms error cropping up in the future. Just a thought...

Code: Select all

ctPlugin = indigo.server.getPlugin("com.swmetrics.indigoplugin.colortouch")
ctPlugin.executeAction("setSpecificMode", tstat, props={'newMode': indigo.kHvacMode.HeatCool, 'newFanMode': indigo.kFanMode.Auto, 'newHeatTo': adjustedHeatSetpoint, 'newCoolTo': adjustedCoolSetpoint})
jshields
Posts: 39
Joined: Sat Nov 08, 2003 10:12 pm

Re: Venstar ColorTouch Thermostat Plugin Discussion

Post by jshields »

Well, after a LONG time, I finally found a firmware update for my T7900 ColorTouch and, low and behold, your plugin now works with it. The http.://address/query/info command no longer causes the thermostat to reboot, but it now returns the correct information. The new firmware is 5.1.

Your plugin now seems to be totally working at my place - HORRAH!!!

Venstar's documentation on updating the firmware is VERY bad as it really doesn't say how to do this, only how to make an SD card with the new firmware on it. I finally stumbled upon it when I got back to looking at the issue I was having while doing some modification work on my general H/A systems.

The way I got the firmware to update was to try to export settings to that SD card with the new firmware on it and it said that the firmware on the card was different from my thermostat and did I want to upgrade it from the card. I did and now things are working for the first time.

Thanks for the nice plugin!!

Jerry
User avatar
raneil
Posts: 90
Joined: Fri Feb 11, 2011 12:06 pm
Location: Grapevine, Texas

Re: Venstar ColorTouch Thermostat Plugin Discussion

Post by raneil »

Jerry,

Glad to hear it's working for you. Thanks for the update.

I'm now using the plugin with 5 different ColorTouch thermostats every day -- couldn't live without it!
jshields
Posts: 39
Joined: Sat Nov 08, 2003 10:12 pm

Re: Venstar ColorTouch Thermostat Plugin Discussion

Post by jshields »

Yeah, since the only thing that changed was their firmware, it was clearly a problem on the firmware side of the equation ;-)

By the way, do you have any plans to implement the set humidity command which the T7900 T-stat has? Any idea what the command to send to it is to set the humidity set point?

THanks,

Jerry
User avatar
raneil
Posts: 90
Joined: Fri Feb 11, 2011 12:06 pm
Location: Grapevine, Texas

Re: Venstar ColorTouch Thermostat Plugin Discussion

Post by raneil »

Jerry,

Changing the humidify and dehumidify set points is supported via scripting. Complete documentation is available on the Scripting Support page of the ColorTouch Plugin site.
Post Reply

Return to “raneil's corner”