[RELEASE] Beta 1 - version of Honeywell Home Thermostats (Lyric etc...)

The damper works through the stat. There is an extra wire used from the stat to the furnace then to the damper. I believe it connects to the U connection which is used for humidifier/dehumidifier/ventilator. Then in the stat configuration it is setup for the particular equipment. I'm guessing Honeywell does not present this in the API as I do not see anything for humidifier/dehumidifier in the existing API.

That was my conclusion after looking at the API.

Recommendations on ideal refresh interval?

It's really up to you, especially if you are using your own authentication token instead of the shared token. I run at 10 minutes myself.

1 Like

Really strange errors. Thermostat changes temp settings when I get home/leave. The change actually happened though. I also don't command any changes to thermostat mode.

@markbellkosel84 Yeah, I had a similar error early this morning when my Webcore routine set the temperature back up. In my case, the error was:

Set Api Call failed -- Bad Request: [code:400, message:Thermostat already switched to Heat mode.]

The call to change the setpoint worked, just like in your case. I think it was a server issue. What time zone are you in? My setpoint change happened at 5:30 am EDT. If you are in CDT, your failures happened pretty close to the time mine failed. It looks like you were doing two requests? The app will do a retry on failure, which I see in the logs you attached.

The bottom line - I would just keep an eye on it. The driver/app did it's job and no harm done. I occasionally see these kinds of errors in the logs, usually late at night or early morning. Maybe Honeywell is bouncing the servers or is doing server software updates.

1 Like

That's what I was suspecting. I know they were having server issues a while back. Possibly more of the same.

@markbellkosel84 @taylor I saw errors again in the logs this morning. It looks like the errors are happening whenever the setpoint is being changed. Taylor, are you seeing anything in your logs? @markbellkosel84 - what model is your thermostat? I'm seeing this error with the T9 and wondering if it is happening with all the supported thermostats.

I'll take a look at this problem later on and maybe shoot Honeywell an email. They apparently have pushed a change that caused these errors to start happening. Thankfully the setpoints are being changed. You just get the annoying error when you do it.

I saw the errors again too. Again, still had the change go through. I also have a T9.

Not recently but the last time I saw this for a few days and than it went away - best I could ever determin it as a server side error.

Yes, definitely looks like a server side error. I sent them an email about it. It's a benign error, so I'm just going to ignore it for now. Hopefully it will magically go away like when you saw it last time.

I am new to Hubitat(former wink and now former smartthings guy) and got this installed but having same issue were i cannot change setpoints but i can change fan modes etc. i see error about emergency heat : null and in error log i get "Set Api Call failed -- Bad Request: [code:400, message:'Status' is required." Everything is perfect just cannot change temp. any help would be great! I think it has to do with actual mode not setting so it dont know its in heat or cool mode... I have both options on bottom for heat and cool enabled too

@randr I'll see if I can help you get up and running. First, a few questions:

  1. What model thermostat are you using?
  2. How did you install the driver/app? Package Manager?
  3. How are you changing the setpoint (dashboard tile, driver, automation?) and which setpoint are you trying to change (heating, cooling)?

Try enabling debug logging in the Honeywell Home app and the driver. Then try changing the setpoint from the driver. What do you see in the log? The app logging is very verbose in debug mode, so it takes a bit of inspection to find where the error is happening. Look for "setThermosatSetPoint()" in the log. That message is logged when the function that actually changes the setpoint is called. Cut and past the logs here and I can try to help figure out what is going wrong.

@WindowWasher

I have the Honeywell 9000 WiFi thermostat and used package manager to install and that all seemed to work great discovered device just fine and if I change a setting on thermostat I see dashboard changes accordingly. The issue is I cannot change anything from dashboard it will change but error in log with the error in my last post....in device settings I can change modes but not temp setting it seems to be something to do with emergency heat null error.
I will provide more detailed logs tonight after work! Thanks so much for the help!

@randr
Thanks for the information. The Honeywell 9000 is not listed on the Honeywell developer site (https://developer.honeywellhome.com/) as one of the supported thermostats for their newer REST API, which is what this driver and app uses. So that is most likely why changing setpoints doesn't work. I'm actually surprised that anything works. I seem to remember reading that Honeywell was moving support for some of their older devices (like the 9000) over to the new API. That may be why some of the functionality works for you. I believe there is another community driver available that uses the old API and might work for you. See this thread: Honeywell Wifi Thermostat Driver for more information. Here's a link to the driver on Github: GitHub - HubitatCommunity/HoneywellThermo-TCC You would have to manually install it in Hubitat. If that driver doesn't work for you, we might be able to get this driver/app to work, but I think it would mean code changes to the Honeywell Home app.

I use the new Honeywell (Honeywell home) to manage thermostat already so that has always worked as does the old TCC to manage thermostat. What’s weird is worked fine in SmartThings, wink and home assistant. I’ll keep messing with it in Hubitat and see if I can’t figure out why it’s returning emergency heat NULL when I try changing temp. Thanks again for the reply.

@randr
Okay, send me some logs later and I'll take a look at them. I doubt that the emergency heat null log entry is the problem. I think I've seen that log entry myself. Emergency heat is an optional feature that some thermostats don't support. The setThermostat function has EmergencyHeatActive as one of it's input parameters and it will have a value of null if the thermostat doesn't support emergency heat.

Try changing the setpoint from the device page instead of the dashboard and see if that works. I ran into a bug a few days ago with changing the fan mode from the dashboard. Worked fine changing it from the driver, but didn't work from the dashboard tile. I put a fix into the driver code to work around the apparent dashboard bug, but haven't pushed that fix to the package yet.

Not sure if i'm attaching log correctly but this log is heat temp change to 70...

app:902021-05-28 05:09:22.738 pm errorSet Api Call failed -- Bad Request: [code:400, message:'Status' is required.]

app:902021-05-28 05:09:21.890 pm debugsetThermosat-params [uri:https://api.honeywell.com/v2/devices/thermostats/TCC-2254516?apikey=ZHxMrJnSj0eFrfnr4xezrHDmKCAL8iio&locationId=2542005, headers:[Authorization:Bearer 0J7uIacSccjCk1mqJIkVpfjvmrhy, Content-Type:application/json], body:[mode:Heat, heatSetpoint:70, coolSetpoint:74]]

app:902021-05-28 05:09:21.886 pm debugAttempting to Set DeviceID: TCC-2254516, With LocationID: 2542005

app:902021-05-28 05:09:21.883 pm debugsetThermosatSetPoint()

app:902021-05-28 05:09:21.879 pm debugupdateThermostats-thermostatOperatingState: idle

app:902021-05-28 05:09:21.876 pm debugupdateThermostats-fanRunning: false

app:902021-05-28 05:09:21.873 pm debugrefreshHelper() cloudString:fanRunning - deviceString:thermostatFanState - device:HOME Thermostat - optionalUnits:null - optionalMakeLowerMap:null -optionalMakeLowerString:null

app:902021-05-28 05:09:21.869 pm debugupdateThermostats-mode: Circulate

app:902021-05-28 05:09:21.866 pm debugrefreshHelper() cloudString:mode - deviceString:thermostatFanMode - device:HOME Thermostat - optionalUnits:null - optionalMakeLowerMap:null -optionalMakeLowerString:null

app:902021-05-28 05:09:21.862 pm debugupdateThermostats-allowedModes: [Auto, On, Circulate]

app:902021-05-28 05:09:21.859 pm debugrefreshHelper() cloudString:allowedModes - deviceString:supportedThermostatFanModes - device:HOME Thermostat - optionalUnits:null - optionalMakeLowerMap:null -optionalMakeLowerString:null

app:902021-05-28 05:09:21.854 pm debugThermostat does not support emergency heat

app:902021-05-28 05:09:21.851 pm debugThermostat does not support auto change over

app:902021-05-28 05:09:21.847 pm debugupdateThermostats-mode: Heat

app:902021-05-28 05:09:21.844 pm debugrefreshHelper() cloudString:mode - deviceString:thermostatMode - device:HOME Thermostat - optionalUnits:null - optionalMakeLowerMap:null -optionalMakeLowerString:null

app:902021-05-28 05:09:21.841 pm debugupdateThermostats-coolSetpoint: 74

app:902021-05-28 05:09:21.838 pm debugrefreshHelper() cloudString:coolSetpoint - deviceString:coolingSetpoint - device:HOME Thermostat - optionalUnits:F - optionalMakeLowerMap:null -optionalMakeLowerString:null

app:902021-05-28 05:09:21.834 pm debugupdateThermostats-heatSetpoint: 72

app:902021-05-28 05:09:21.831 pm debugrefreshHelper() cloudString:heatSetpoint - deviceString:heatingSetpoint - device:HOME Thermostat - optionalUnits:F - optionalMakeLowerMap:null -optionalMakeLowerString:null

app:902021-05-28 05:09:21.827 pm debugupdateThermostats-allowedModes: [Cool, Heat, Off]

app:902021-05-28 05:09:21.824 pm debugrefreshHelper() cloudString:allowedModes - deviceString:allowedModes - device:HOME Thermostat - optionalUnits:null - optionalMakeLowerMap:null -optionalMakeLowerString:null

app:902021-05-28 05:09:21.820 pm debugupdateThermostats-indoorHumidity: 40

app:902021-05-28 05:09:21.818 pm debugrefreshHelper() cloudString:indoorHumidity - deviceString:humidity - device:HOME Thermostat - optionalUnits:null - optionalMakeLowerMap:null -optionalMakeLowerString:null

app:902021-05-28 05:09:21.814 pm debugupdateThermostats-allowedModes: [Cool, Heat, Off]

app:902021-05-28 05:09:21.809 pm debugrefreshHelper() cloudString:allowedModes - deviceString:supportedThermostatModes - device:HOME Thermostat - optionalUnits:null - optionalMakeLowerMap:null -optionalMakeLowerString:null

app:902021-05-28 05:09:21.805 pm debugupdateThermostats-indoorTemperature: 72

app:902021-05-28 05:09:21.802 pm debugrefreshHelper() cloudString:indoorTemperature - deviceString:temperature - device:HOME Thermostat - optionalUnits:F - optionalMakeLowerMap:null -optionalMakeLowerString:null

app:902021-05-28 05:09:21.798 pm debugupdateThermostats-tempUnits: F

app:902021-05-28 05:09:21.795 pm debugreJson: {[thermostatVersion:03.02.00.00, settings:[fan:[allowedModes:[Auto, On, Circulate], changeableValues:[mode:Circulate], fanRunning:false]], deviceClass:Thermostat, deviceType:Thermostat, deviceID:TCC-2254516, deviceInternalID:2846621, userDefinedDeviceName:HOME, backend:[id:2254516], name:HOME, schedule:[scheduleType:None], isAlive:true, isUpgrading:false, isProvisioned:false, macID:00D02DB3FE49, deviceSettings:[deviceClass:Thermostat], parentDeviceId:2254516, service:[mode:Up], deviceRegistrationDate:2021-01-30T21:38:09.82, dataSyncStatus:UnKnown, units:Fahrenheit, indoorTemperature:72, outdoorTemperature:59, allowedModes:[Cool, Heat, Off], deadband:0, hasDualSetpointStatus:false, minHeatSetpoint:40, maxHeatSetpoint:77, minCoolSetpoint:65, maxCoolSetpoint:99, changeableValues:[mode:Heat, heatSetpoint:72, coolSetpoint:74, thermostatSetpointStatus:PermanentHold, nextPeriodTime:18:00:00, heatCoolMode:Heat], operationStatus:[mode:EquipmentOff], indoorHumidity:40, indoorHumidityStatus:Measured, deviceModel:Unknown]}

app:902021-05-28 05:09:21.767 pm debugreCode: {200}

app:902021-05-28 05:09:21.191 pm debugLocation Discovery-params [uri:https://api.honeywell.com/v2/devices/thermostats/TCC-2254516?apikey=ZHxMrJnSj0eFrfnr4xezrHDmKCAL8iio&locationId=2542005, headers:[Authorization:Bearer 0J7uIacSccjCk1mqJIkVpfjvmrhy], contentType:application/json]

app:902021-05-28 05:09:21.186 pm debugAttempting to Update DeviceID: TCC-2254516, With LocationID: 2542005

app:902021-05-28 05:09:21.182 pm debugrefreshThermosat()

dev:882021-05-28 05:09:21.174 pm warnHOME Thermostat Set heating point failed, attempting a refresh and re-try.

app:902021-05-28 05:09:21.170 pm errorSet Api Call failed -- Bad Request: [code:400, message:'Status' is required.]

app:902021-05-28 05:09:20.254 pm debugsetThermosat-params [uri:https://api.honeywell.com/v2/devices/thermostats/TCC-2254516?apikey=ZHxMrJnSj0eFrfnr4xezrHDmKCAL8iio&locationId=2542005, headers:[Authorization:Bearer 0J7uIacSccjCk1mqJIkVpfjvmrhy, Content-Type:application/json], body:[mode:Heat, heatSetpoint:70, coolSetpoint:74]]

app:902021-05-28 05:09:20.249 pm debugAttempting to Set DeviceID: TCC-2254516, With LocationID: 2542005

app:902021-05-28 05:09:20.246 pm debugsetThermosatSetPoint()

@randr
Yes, you attached the right stuff. It's a lot to go through, so you probably won't hear from me until tomorrow morning.

1 Like

That was temp change on device page just fyi