Has anyone integrated a Venstar wifi thermostat with Vera. Venstar has an Api. But no Vera plugin.
i’ve been looking into it, but with very little success…mainly because i just can’t wrap my head around how vera works. i am a programmer by day and have no issue writing the calls to the API, i just can’t figure out how to translate that into the API (i.e. temp sensor, humidity sensor, heat/cool/auto mode, etc that would display in vera).
if anyone wants to collaborate and/or help with this, i’d love to (or if anyone can either write the interface stuff and direct me where to put the backend stuff)…i just haven’t had time to completely figure it out myself.
Thanks for the reply. It shouldn’t be that difficult but I’m not a programmer. Vera works on luup. I would think if you looked at a similar plugin like the Honeywell that might help.
Sent from my iPhone using Tapatalk
i’ve been looking at it like i said, it’s not that simple (at least not to me). luup isn’t the problem, it’s the asinine way (in my opinion anyway) vera recognizes plugins…
do you already have the venstar or are you just looking into one? i haven’t fully decided if it’s the right thermostat for me yet, i’d be interested in hearing an opinion from someone who actually owns one…
No not yet. I know it doesn’t work so I’m thinking I will get the Honeywell. Currently I have 3 proliphix Tstats. I like them but I don’t have a direct app control and no plugin.
Sent from my iPhone using Tapatalk
just commenting to bump this up to see if anyone in the last two months has discovered anything; I run a Venstar 6800 - was thinking of incorporating some of those ecovents, but they are too expensive. regardless, would be cool to get the venstar to pair with vera…
Same for me, been looking into those Thermostats, very cool looking and easy to use (for the wife). However, if there are not compatible with Vera, then I’m losing the full automation and integration around Vera. Hard stop for sure.
I found the APIs doc if this could be of any use to anyone?
http://developer.venstar.com/assets/ColorTouchRemoteControlAPIv3rev1.pdf
Hope someone out there might have suggestions on how to make this to work.
Thanks guys
Just adding my 2 cents to this thread.
I do have the Venstar 5900 I think it is. I went with this model as it was very well rated by consumer reports and can control my 2 stage geothermal heatpump and humidifier set to a particular humidity level. It can also cool if humidity goes above a particular level, but I haven’t set it up in that mode.
All in all I like it. Connecting remotely from my PC or phone has been pretty reliable. I’ve had an occasional glitch with one or 2 and tech support has been responsive.
I just wish they were more mainstream - nothing that I have integrates with them.
I also have done some programming for my day job, but having the spare time to figure this out would make this quite tough.
I think I can fix that…
Here is a an implementation file that should provide basic functionality for the Venstar thermostats using a standard Vera Thermostat device…
Limitations:
- Does not detect Venstar devices
- Controls/monitors only a single thermostat
- does not detect/monitor sensors
THIS SHOULD BE CONSIDERED EXPERIMENTAL… I do not have a Venstar thermostat, so I can not test the implementation… If you try it, please provide feedback AND the LuaUPnP log so that I can make fixes.
INSTALLATION:
- Upload the I_Venstar1.xml file to your Vera.
- Create a Thermostat device
2a) Go to Apps/Develop Apps/Create device
2b) Enter the following parameters:
Device Type: urn:schemas-upnp-org:device:HVAC_ZoneThermostat:1
Description:
Upnp device filename: D_HVAC_ZoneThermostat1.xml
Upnp implementation filename: I_Venstar1.xml
IP Address:
2c) Click on “Create Device” - Allow the LuaUPnP engine to reload.
- Refresh your Browser cache.
** ATTACHMENT REMOVED - LATEST VERSION IS NEAR END OF THE THREAD **
Fantastic - thanks for working on this! I check this out and keep you posted. I might be able to get to this tonight.
Just really quickly - it does not look like it is working right now, I see these lines in the log file and do not see anything getting logged when I try to adjust the thermostat (which says comment failed when I hit temp up or down and it stays at 0 degrees).
01 02/27/16 18:37:48.645 LuImplementation::Parse can’t parse xml /etc/cmh-ludl//I_Venstar1.xml <0x773bc320>
01 02/27/16 18:37:48.646 JobHandler_LuaUPnP::ParseAllImplementations failed to parse I_Venstar1.xml <0x773bc320>
I can post the entire log file a little later if that helps, wife is calling me about poopy diapers unfortunately…
Oops… My bad… I wrote the code using the Lua interpreter and forgot to XML escape the code when I added it to the implementation file…
This one should actually load and run…
** ATTACHMENT REMOVED **
Great, that did the trick and it loaded, but it is not working. It looks to me like it doesn’t like the port 8080; just using the default returns info.
I’m also wondering if the doc is off. Maybe this is better?
http://developer.venstar.com/restcalls.html
If I hit one of the thermostats through the web with just the IP it returns this:
{“api_ver”:4,“type”:“residential”}
LOG:
02 02/27/16 22:49:38.100 luup_log:528: (Venstar::pollVenstar) Called with reschedule [60]. <0x74865520>
02 02/27/16 22:49:38.101 luup_log:528: (Venstar::pollVenstar) reschedule [60]. <0x74865520>
02 02/27/16 22:49:38.101 luup_log:528: (Venstar::getStatus): Retreiving device state. request [http://192.168.0.11:8080/query/info] <0x74865520>
01 02/27/16 22:49:38.106 luup_log:528: (Venstar::getStatus): no device state response. <0x74865520>
01 02/27/16 22:49:38.106 luup_log:528: Venstar: could not retreive device status <0x74865520>
From a browser:
http://192.168.0.11/query/info
{“name”:“Main%20Level”,“mode”:1,“state”:0,“fan”:0,“fanstate”:0,“tempunits”:0,“schedule”:1,“schedulepart”:3,“away”:0,“spacetemp”:65.0,“heattemp”:63.0,“cooltemp”:82.0,“cooltempmin”:35.0,“cooltempmax”:99.0,“heattempmin”:35.00,“heattempmax”:99.0,“hum”:41,“hum_setpoint”:43,“dehum_setpoint”:99,“setpointdelta”:2.0,“availablemodes”:0}
I opened up the xml file and changed VENSTAR_PORT = 80 and in one of the conditional statements where it had 8080 I changed that to 80, but no luck. Log file still shows it is going to port 8080.
I reloaded the xml file and refreshed browser, no luck. I rebooted the vera, and no luck. Unfortunately it looks like my caseta plugin settings were all wiped too
My dimmers and picos etc. are all back to the no room and I’m going to guess the pico buttons are reset as well. If there is anyway to get around this Vera/Lutron device ID mapping issue (if that is what is going on) I would be extremely grateful, as setting this all up again is getting very tedious.
Thanks!!
I used port 8080 as the default since that’s what the original documentation specified… But, this wouldn’t be the first time that an API document was wrong… and it won’t be the last…
I have changed the default in the implementation file…
Unfortunately, after the IP address attribute is set, and the address/port combination is validated (the first time the LuaUPnP engine is reloaded after the IP address attribute is set), the defaults are no longer references…
However, the IP Address attribute contains a mechanism to specify the IP Address and the port…
Go to Settings/Advanced/Params for the Venstar device, and change the “ip” attribute to the IP Address and the port, separated by a colon (ie: for your device, enter “192.168.0.11:80”)… then click on the “New Service” tab, then click on the “Reload Engine” button.
The new documentation provided some additional information on the command requirements, and I have updated the file with the changes… It is attached… (EDIT: Nope… It wasn’t any good… I has attached another updated version, tested against a device emulator)
I’m not seeing this behavior happening on my systems… and I add and remove a LOT of (non-caseta) devices… My Caseta devices still have the same IDs as when I installed the plugin…
I’ll look through the log you provided and see If I can find anything that might be causing this to happen…
** ATTACHMENT REMOVED **
WooHoo - progress!
I created a new device with the new xml file and specified the IP with the :80 port (I had deleted the device before to see if that would get my caseta devices to work again).
I also added a zWave energy switch, and so far all the Lutron stuff I setup again has been working.
For the thermostat, I get the current temp and set point, but I cannot change the temp or mode. I can put the fan on, but that appears to be it.
The temperature is going up in .5 degree increments (F) and the thermostat and GUIs only allow me to go up or down in 1 degree increments.
I’ve attached my log file.
Let me know what to do next.
Thanks!
Progress is good!!
The Thermostat device will display the temperature data in exactly the format received (and will convert between C and F if the thermostat and Vera are not configured for the same temperature units)… If the thermostat rounds the reported values to 0.5 degree increments, that is how it displays… The Thermostat display is limited to tenth of a degree accuracy, however.
The setpoint up/down arrows are limited to 0.5 degree increments. If you want finer control than that, click on the setpoint temperature display and you can enter the exact setpoint you wish (limited, of course, to 0.1 degree accuracy).
Test the new version… I found a typo or two that was causing it to crash… and I added extra debug data to help get things all sorted out…
** ATTACHMENT REMOVED **
I still cannot switch modes or change the temp. I tried setting the variables directly but that didn’t work either.
What I was referring to about change the temp is my thermostat and the venstar interfaces (web and phone apps) only allow increments of 1 degree.
I do see variables for CurrentSetpoint Heat and CurrentSetPoint, and the log seemed like maybe I need to set them both at the same time, but I don’t know how to do that in the web interface as it seems to immediately try to set as I tab to another field.
Thanks!
I’ve updated the file to send both setpoints to the thermostat… that should fix the setpoints…
I’ve added more logging so I can figure out why the mode doesn’t change… I think it may have been a typo (which I’ve fixed), but need extra info to be sure…
Getting Close!
I tried changing the mode to off but it stayed in heating. If I up the heat, the UI displays 69.5 for a second, then goes to 70 and it does indeed set the thermostat to 70. If I try to go down back to 69, it says 69.5 for a second, and then goes back to 70. I assume this is rounding, so in the UI I cannot go down.
I hope that makes sense. Attached is the last part of my log.
Thanks!!
One more note on functionality. I would love to be able to create a device for each of my thermostats. I am not sure if this is possible. I don’t mind manually setting up each device and setting static IPs for them like I did for the first one. I figured I would wait until everything is working on the first before asking about/adding additional thermostats.
For a possible future feature, I would also love to be able to control the humidity settings.
Thanks so much for working on this!