Honeywell Smart Wi-Fi Thermostat Compatibility

I don’t use that code, but you could un-comment the WeatherHumidity line.

Then below set OutdoorHumidity = WeatherHumidity

Yes, that’s one of the things I tried that produced the null%…
Do you think there is something in the tile setup or later down like the log.dubug, or sendevent that is causing it to not work?

    valueTile("outdoorhumidity", "device.outdoorhumidity", inactiveLabel: false, decoration: "flat") {
        state "default", label:'${currentValue}%', unit:"OutdoorHumidity"
    }



	def OutdoorHumidity = response.data.latestData.uiData.OutdoorHumidity
	def WeatherHumidity = response.data.latestData.uiData.WeatherHumidity
    //def Humidity = IndoorHumidity

	IndoorHumidity = IndoorHumidity
	OutdoorHumidity = WeatherHumidity
    
    log.debug curTemp
    log.debug fanMode
    log.debug switchPos
    log.debug IndoorHumidity
    log.debug OutdoorHumidity
    //log.debug weatherHumidity
	//fan mode 0=auto, 2=circ, 1=on
    
    if(fanMode==0)
    	fanMode = 'auto'
    if(fanMode==2)
    	fanMode = 'circulate'
    if(fanMode==1)
    	fanMode = 'on'

    if(switchPos==1)
    	switchPos = 'heat'
    if(switchPos==2)
    	switchPos = 'off'
    if(switchPos==3)
    	switchPos = 'cool'


    sendEvent(name: 'thermostatFanMode', value: fanMode)
    sendEvent(name: 'thermostatMode', value: switchPos)
    sendEvent(name: 'coolingSetpoint', value: coolSetPoint as Integer)
    sendEvent(name: 'heatingSetpoint', value: heatSetPoint as Integer)
    sendEvent(name: 'temperature', value: curTemp as Integer, state: switchPos)
    sendEvent(name: 'indoorhumidity', value: IndoorHumidity as Integer)
    sendEvent(name: 'outdoorhumidity', value: OutdoorHumidity as Integer)

does it use batteries or do i need a line for power?

thanks again…

@kirsten27

Most of these thermostats require a C (common) wire, some use a small battery as a backup as well (maintain clock time etc during power outages).

Kirsten,
There might be a spare wire in the t-stat cable that’s in the wall. Take a look and see if there is, you may be able to use this for power off of the transformer in the furnace.

Is there any way to pull from the API whether a given thermostat’s system is running at the moment? I’ve been working on some graphing of my SmartThings devices and just got one of those fancy Energy Meters. I’d like to be able to overlay on my energy usage graph the times when the HVAC was active in one or both zones and which mode it’s in (cool, heat, emergency heat).

I found these two values:

    Control.Model.set(Control.Model.Property.statusCool, 0);
    Control.Model.set(Control.Model.Property.statusHeat, 0);

…but it seems like whenever my system kicks on, they BOTH get set to 1. Anyone know what these two actually mean?

It has been a while since I have played with the code… but I think you are on the right track. I think that those get set to 1, but you what you also need to look at is the SystemSwitchPosition and then you can know whether it is ON and on HEAT or on COOL.

1 Like

@dave

I have made some modifications to to the code, still working on the humidity setting. Fan mode works and I made some changes to the way heat and cool are displayed.

@jodyalbritton

Sweet!
I like the Heat and Cool labels, seems like the fan is working better, I better quit turning it on and off or I will break my AC? :frowning:

My old (dumb) tsat had humidity, I wish my new (smart) one did as well!

Great job!

I just sent in a pull request to add “thermostatOperatingState” to the states this device supports. This gets us the ability to tell whether or not the HVAC system for this thermostat is running and if so, in which mode. The state gets set to one of “heating”, “cooling”, or “idle”.

I wanted this for a project I’m working on, but it’d be handy to see in the app UI as well. I just haven’t gotten around to figuring out how the UI stuff works. =)

I just merged your changes @btk, I will add it to the ui tonight. @dave I am working on the humidity but my unit does not have the sensors, so I am working in the dark on that one.

What needs done? Mine has the indoor and outdoor humidity sensors, so I might be able to help.

I will comment the areas to look at in the next code push.

@btk I updated the code with the operating state tile and commented the section about the humidities.

@david I fixed the error in the new version if you want to grab it too.

So for systems that support both indoor and outdoor humidity, how should we handle that?

I was thinking of by default reporting the indoor humidity, since that’s what the thermostat is primarily concerned with. On the other hand, I can certainly see someone wanting to use the thermostat to get the outdoor humidity if they have one or more z-wave humidity sensors for indoors.

I could add a preference to “Report outdoor humidity sensor”, but I don’t think there’s any way to only provide that option if they actually have an outdoor sensor, so it could potentially confuse people.

Alternatively, we could write up another device type specifically to handle the outdoor temp/humidity reporting and have the current thermostat device type just handle the indoor stuff.

Thoughts?

I like the secondary device type idea. I ended up removing all of the humidity stuff from my code because I was getting tons of errors trying to determine the humidity. My stat does not have the sensors so troubleshooting was near impossible. I have updated the code on github with the new device type that is error free at the moment.

1 Like

That’s the way I was leaning, too. Stripping down the thermostat device code to just support the outdoor sensor was pretty darn easy. Here’s the repo. It takes the same settings as the thermostat device type and you’ll probably want to use Pollster to get it to update regularly.

I’ll go back and do a (hopefully) clean implementation of the humidity stuff. You pasted your API data from the web page source a while back, so I should be able to use the differences between that and what mine reports to do it so everyone’s happy.

Sounds good. If you look at my device type here you can get an idea of how to make the various humidities selectable for display. Lines 59 and 60. This would allow the user to choose whichever humidity they would like displayed in the tile.

I think they changed their url structure. I kept getting unauthorized until I changed all the urls to start with https://mytotalconnectcomfort.com/portal/ instead of https://rs.alarmnet.com/TotalConnectComfort/ starting today.

Which code are you using? All of my urls are already the correct url.