Develop a driver - (Venstar Thermostat Driver Development)

  • lastdata : {cooltempmin=72.0, hum=0, away=0, hum_setpoint=41, setpointdelta=1.0, cooltemp=72.0, spacetemp=68.0, fanstate=1, heattemp=68.0, mode=1, schedule=0, availablemodes=1, fan=1, cooltempmax=99.0, dehum_setpoint=0, heattempmin=35.00, name=DOWNSTAIRS, tempunits=0, heattempmax=75.0, hum_active=99, state=0, schedulepart=255}
  • type : residential

You can see in that that the thermostat is reporting humidity of 0, humidification setpoint at 41, and no (0) dehumidification setpoint. That's nonsense. I'm guessing a firmware bug in the thermostat, actually. I have T7900s and these fields work as expected. You're on 5900s?

Yes, I have two T5900's. I'm not using the thermostat for humidification so I believe the setpoints to be meaning less.

The Humidity Sensor data is returned with a /query/sensors
{"sensors":[{"name":"Thermostat","temp":68.0,"hum":42},{"name":"Outdoor","temp":0.0}]}

Perhaps, but it seems to be returning incorrect data for /query/info. I'd contact Venstar and see if there's a firmware update applicable. The running firmware version number is also displayed under states (if the thermostat reported it when queried).

I'm running 4.08, which has been the latest forever. I think they gave up development of this unit in favor of the 7900's.

OK. I've updated the driver. It now has a model number selector in preferences, which I was hoping to avoid, but there it is. Chosing T59x0 will trigger a workaround for the mixed-up fields on that device/firmware.

OK, thank you very much. I will load the updated driver when I get home later. I will report back if I have any issues.

Thanks again!

Good evening Toggledbits,

I have a favor to ask. I noticed that in the driver, instead of the "thermostatOperating State" indicating "idle", when the fan mode is on it shows "fan only". What is your reasoning behind this and how difficult would it be to get it to show "idle". This would be useful in Rule Machine.

Thanks for considering this.

"fan only" is a valid state according to the capability documentation. I don't use Rule Machine (I have an automation product that works across multiple hubs that I've written called Reactor)... doesn't RM support something like an "OR" so you can test if the value is "idle" or "fan only" for your case?

It just seemed reduntant to me since you already provide "thermostatFanMode" and "thermostatFanOperatingState".

I have noticed a couple times recently where the thermostats stop getting polled. If I look down at the bottom of the device page there are no scheduled events. A REFRESH will restart the process. Any idea why it might be stopping? As shown below, almost 3 hours since an update. Should be once a minute.

Edit: Now I'm not sure a REFRESH restarts the polling.

The "Last Update Time" doesn't update for me either (and everything works perfectly), so ignore that; I have no idea what sets/modifies it. Use the last update time in the Current States (which the driver does control and set). A peek at the logs may be instructive (so much so that you probably shouldn't post here without looking at them first -- just a suggestion). Maybe reboot your hub? It should be scheduled on a refresh. Make sure your poll interval isn't zero (look in State Variables not Preferences for current interval). I'm not having any issues like this.

Sorry for the poor explanation. What I was trying to show is that there were no scheduled jobs, like shown here when everything is working.

Here is a good example of what I am talking about:

Still having an issue with this. Just noticed my 2 thermostats stopped refreshing 7 days ago. No scheduled jobs. Any clue at all what might be going on here?

Did you look at the logs (historical) as I suggested on 7/1? It would be best to look as soon as you notice updates not happening.

That said, since your original post, I've been monitoring my own, and have no similar issue. I've done some serious malice to both the thermostat and my network trying to replicate your report, on the idea that perhaps some communication issue with the thermostat leads to a code path that breaks it, but I've done about everything I can think of and the driver recovers every time. I can't duplicate your issue. In the absence of something in the logs from your system, there's not really much more I think I can do.

I'll add... don't be misled by the device page/display. The only part of the page that refreshes automatically are the attributes under the heading "Current States" at the top right of the device page. Everything else appears to be static, and you have to refresh the page/browser to get updates, including the display of scheduled tasks and the values under the heading "State Variables" (underneath the Commands).

The problem with the logs is that by the time I notice its not updating, any useful information has been purged.

That being said, on my devices page, the last activity is my clue that its not working.

Unfortunately, you showing me a chalk outline in the street (again) isn't going to help me answer "who died and how?" My suggestion is that you monitor your system more closely and make an effort to capture the logs as soon as you notice updates have stopped. Then perhaps we can answer the question. But since I'm not able to duplicate your report myself, even with considerable testing and direct abuse of the device and driver, I am entirely reliant on you to be eyes and ears, and my hands are tied until you can present me with something more.

1 Like

Has something changed with the dashboard tile? I'm only able to change the setpoint up or down. If I try to change the thermostat mode or fan setting via a dashboard, nothing happens, and actually prevents future modification of setpoint until the dashboard is refreshed. Any thoughts?

There have been no changes on the driver end in several months.