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

I lost comms too after upgrading my Hub, but going through the Honeywell account authorization process fixed it.

1 Like

I also lost authorization after updating the hub to 2.2.9.142 this morning. That's the first time that has happened after a hub update. I wonder what is up with that. Re-authorizing fixed it.

2 Likes

I have have authorize issues all the time and have for some time. It was my understanding that this was always attributed to Honeywell side issues. It sounds like it may be more than that?

@markbellkosel84 Two of us lost authorization after a recebt hub update, which is strange. I'm keeping an eye on it to see if something else (other than Honeywell servers) might be causing it. I did do another hub update after reauthorizing and everything worked fine.

Another thing - messages in the logs can be listed out of sequence. Consider these log entries from this morning:

app:5532021-10-31 07:50:01.458 am errorThermosat API failed -- status code: 401, reason phrase: Unauthorized: [code:Unauthorized, message:Authorization has been denied for this request ]

app:5532021-10-31 07:50:00.990 am infoHoneywell API Token Refreshed Succesfully, Next Scheduled in: 1699 sec

app:5532021-10-31 07:50:00.325 am warnAuthorization token expired, will refresh and retry.

If you look closely at the timestamps, you will see that the entries are out of sequence. The token was successfully refreshed, so all is well. This was a normal refresh of an expired token, even though "Thermostat API failed" message would lead you to believe that the you were unauthorized.

1 Like

I had noticed that too. However, I did confirm that I had actually lost functionality control when I get these entries.

These are becoming more and more frequent. Any insight into why?

I'm seeing the same thing, occasionally. I have turned on debug logging to get more extensive logging, but haven't captured this error yet to get more information.

I'm not sure why this is happening. When the app makes a call to refresh the token, the Honeywell API returns a new token and also returns a time when the token will expire. The app uses this time to calculate when another call should be made to get a new token. A job is set up to do the refresh, but from the error it seems like the token is expired before the new job is run. Very weird because it isn't always expiring before the new token is requested.

Yes, it is very odd. According to the timestamps, I see a few times when the refresh SAYS it happened and then immediately followed by error.

I don't trust that the log message order (and timestamps) is always right. I have worked on systems over the years where you can't trust message order. Generating messages isn't usually an atomic operation, i.e. it usually happens asynchronously and order is not guaranteed.

1 Like

I’m not sure what silly games Honeywell are playing lately, but I’ve had to re-authentic the app with their cloud service twice today after I noticed automatons not working. Very annoying!

1 Like

I saw a few expired token errors in the last 24 hours, but didn't lose authorization. The app handled the prematurely expired tokens correctly. It is quite annoying to get the errors in the logs, however. The tokens returned by the server are stamped to expire in 30 minutes, but aren't lasting that long. Seems to be a problem on Honeywell's side of things.

@dJOS BTW, I haven't forgotten about the multi-speed fan support. It's turned out to be a little tricky to implement without a live D6 Pro to test on.

1 Like

All good, I appreciate the effort you are putting in.

@taylor thanks for writing this! I'm so glad I didn't have to use Hub Connect to get to my Honeywell through SmartThings. This is working great so far. BTW noticed your github profile and found you in the GAL!

thanks for this..

I made the following changes to get an attribute called lastUpdate as honeywell is notorious for issues and i add this to my dashboard tile so i can quickly see if the therm stopped reporting

in driver

attribute "lastUpdate", "string"

in app

sendEvent(device, [name: "units", value: tempUnits])
LogDebug("updateThermostats-tempUnits: ${tempUnits}")

def now = new Date().format('MM/dd/yyyy h:mm a', location.timeZone)
sendEvent(device, [name: "lastUpdate", value: now, descriptionText: "Last Update: $now"])
1 Like

here is another change to get the degree symbol to appear on the dashboards..

def tempUnits = "°F"
if (reJson.units != "Fahrenheit")
{
tempUnits = "°C"
}

my entire changed version of the driver is here

https://raw.githubusercontent.com/lgkahn/hubitat/master/honeywellhome

1 Like

By the way if you add a a second Therm it is not enough to do a discover. You have to reauthorize the oath link with Honeywell and select the additional Therm and then do a rediscover . Alsonfornsome reason it would not update and lost the scheduling.

As of Feb 20th it seems the Honeywell Home app can't connect to the Honeywell developer API. I tried logging into the "establish OAuth link with Honeywell" and the Honeywell login wouldn't take my username and password (says it doesn't recognize the user name). When I try to reset the password for this user name from that website, it shows an "Error 403 Forbidden" error. I wonder if Honeywell shutdown this capability?

@cohoman It's working for me, both the Honeywell Home App (on Android) and the Hubitat driver/app. The Honeywell authorization has been kind of hit and miss the last few months, with auth tokens expiring unexpectedly but it is still up and running.

It seems like your issue is that your account is either gone or may be locked. Try logging out of the Honeywell Home App and see if you can log in. If you can't get into the Honeywell Home App then your best option would be to contact Honeywell support.

Authorization errors have been a thing for me pretty much since the beginning. However it's also been working just fine for me

I tried uninstalling the Honeywell Home app, reinstalling it, etc. The Honeywell API Developer login keeps telling me my account doesn't have a valid device but I can log into the Honeywell API Developer site outside of the Honeywell Home app. I'm giving up with this-- not that important to me. Thanks for the advice.