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

@user2863 The D6 is not one of the supported thermostats for this driver. As I recall, some of the API calls to the Resideo servers work for the D6 and some don't. Sorry for the bad news. Go up in this thread to post 170 to see what transpired with the D6 and this driver last year.

Actually the way I use the thermostat ( just changing the temperatures) seems to work. What I am attempting to do with the rules is to set it up to change the temperature when the door or window is open to heat to 61 and cool to 85 also do the same if motion sensor is idle. Otherwise it should work on preset schedule. I have not done any testing yet. The reason I do not care about many of the other setting is that I have a ducted unit instead of wall unit and settings do not apply in my case.

So far with help from community members, I was able to accomplish the set up. Thanks!!!!!

Hello Guys,

When I tried using basic rules to change the set point on Honeywell T10 thermostat, it gave me an error and here is what showed up in the logs. Does anyone have have the same problem? or know how to fix it?

Thank you

It worked with Rule Machine, but not Basic Rules!!

@taylor Thanks so much for your work on this, I was so happy to find this.

What I'm seeing with my T9 (plus 3 additional sensors) is a 400 Device Not Found when I try a simple rule to change the heat setting.

I've enabled the debug logging and the auth appears to be working based on the logs. The following cause no errors in the logs:

Force Refresh Token
Refresh All Devices
Initialize

This is the error when the rule tries to adjust the heating setting. If you have any ideas I would truly appreciate it. I was a dev for most of my career so I'm ok with techy stuff :slight_smile:

Thank you sir.

Update:

I played around with the buttons/actions in the T9 device itself within Hubitat and discovered the following:

  • setHeatingSetpoint didn't change the setpoint but instead took the current setpoint and turned on "hold permanently"
  • setThermostatFanMode works as expected
  • setThermostatMode works as expected

Btw, I have also tried the app code from the hack_erheat branch in the repo.

@wj72 Are you using Basic Rules to change the setpoint? If so, try creating a rule to change the setpoint in Rule Machine instead. See the post above yours. @user2597 ran into a problem with changing the setpoint using Basic Rules. Seems like it may be a bug in Basic Rules.

FWIW, I have a T9 with 3 sensors and I change the setpoint using Webcore with no issues.

Ah yes @WindowWasher , I should have mentioned that as well. I had the same issue as @user2597 with Basic Rules so switched to Rule Machine which resulted in the error I mentioned above.

I need to read this whole thread in more detail because I think I noticed others with that 400: Device Not Found error.

I might also try WebCore in this scenario since I will likely be headed down that road eventually as I find Rule machine somewhat non-intuitive and difficult to use.

@wj72 You could also turn on debug logging in the App to get more detail on what is happening to cause the 400 error.

@WindowWasher Yes already have it on and it's very useful. I just tried the following to troubleshoot.

  • From Thermostat device page, hit refresh button and noticed a 401 Unauthorized in the logs (I do have the Honeywell app refresh interval set to 5 mins)
  • Went into the Honeywell app -> Debug buttons -> Force Token Refresh
  • Then back to Thermostat device page and refresh button did not cause errors
  • Then used the Thermostat device page setHeatingPoint button directly and it worked
  • Then immediately tried the Rule Machine rule again and noticed the 400 error in the logs when the rule runs to setHeatingPoint
  • Just for fun back to Thermostat device page and refresh button did not cause errors

What doesn't make much sense here is the setHeatingPoint button directly works properly but not via Rule Machine.

@wj72 Ah, you should probably change the token refresh interval to something larger than 5 min. The servers do not like frequent refreshes (up in this thread you can see some discussion of this). I have mine set to 20 minutes, which is is longer than I'd like but keeps the servers from going bonkers.

Yep, just read the whole thread (phew) and saw that... changed it to 15 mins.

Still trying to troubleshoot this strange 400 Device Not Found behavior when interacting through Rule Machine. Makes no sense.

Discovered something interesting. I had been setting up my Rule Machine to setHeatingPoint to 20.5 and noticed this in the logs:

I was starting at 21, so 21+20.5=41.5 and that seemed to cause the 400 Device Not Found issue which is completely misleading.

When I changed the rule to set -.5 (starting at 21) the rule ran with no errors and the temp set properly.

I would love to dig into this and add an option for "remove hold" which would return to following the schedule. I can see how in the API docs but I need to learn how to implement this in the driver and/or app. @WindowWasher do you know if anyone else has tackled this? I don't want to reinvent the wheel :slight_smile:

@wj72 I see you are using Celsius, correct? You probably haven't run into this yet, but the API doesn't handle Celsius correctly for the remote sensors. I put a fix into the App code to return correct Celsius values (the API always returns F. values). You can get the code from my repo here: GitHub - tyuhl/hubitat-honeywell-RemoteSensor-Fix That repo is a fork of taylor's repo. with the fix put in.

As for your question about changing the hold - I am not aware of any work being done to implement that.

Thanks for this :+1:

FYI I was able to modify the app and driver code to add a new preference to toggle Permanent or Temporary hold types and a command to Remove Hold LCC

Temporary hold will hold the temperature until the next schedule period change, or until you trigger Remove Hold LCC.

This apparently only works with LCC thermostats. I won't really be able to fully test until I can check the cooling code in the spring. I'm also not sure yet if I need to add additional code to play nice with non LCC thermostats. I'll revisit this in the spring and share when it's ready, unless somebody wants to use this as-is and I will share.

My code started with @WindowWasher repo fork which includes a Celsius fix for remote sensors.

1 Like

It just occurred to me there is a huge missing piece to the work I did... how do I expose the action to RemoveHold in the Rule Machine? Do you know about this area at all @WindowWasher ?

@wj72 Hmmm, it's been quite awhile since I dug into this. I thought that if you defined a custom attribute it should just show up. At least that's what I recall about use with WebCore. Maybe it's a Rule Machine thing. Search on "Custom Command". I saw a lot of RM specific results when I did that search.

1 Like

I have a T10 and three remote temp/humidity sensors. I get errors from Honeywell about too frequents. I have the refresh interval set to 55 min (longest available besides off) but it looks like the refresh is happening faster than that.
The LOGS shows a 1699 second sleep time (28+ min) or about 1/2 the refresh interval set.
Am I misinterpreting something or is there a bug somewhere ?
I have attached screen shots of the config and long


the refresh is combining all the therms on your account.. to determine if you are doing it too often. you can try a separate account for each if that helps

I deleted the three remote sensors. They no longer show up as devices in the the Honeywell Home App. I don't see the remote sensor failures in the logs. Even with JUST the thermostat and 55 min refresh, it is failing. Do you see this behavior ?