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

Hey y'all. Who's taking care of this app now? I've made a few changes, namely I added the Lyric Water Leak Detectors to that app. Is anyone interested that option in the app?

1 Like

I’m happy to review/merge pull requests and I have a release pipeline automated to hpm…

Work got super crazy so I haven’t had much time to do work on anything else + it’s doing everything I need well :slight_smile:

1 Like

Hey Thanks for getting back with me. I wasn't sure if you were still supporting it or if you'd passed the torch.
I'll send the pull request pretty soon.

Has anyone else been experiencing connection issues? I have been getting several errors related to api trouble. It always seems to be sorted out by going back through establishing a connection in the app.

@markbellkosel84 I got a bunch of errors last night, all "Read timed out" errors. These errors usually happen late at night or early morning and the app eventually recovers and moves on. I think it's problems on Honeywell's end, probably taking the servers offline for maintenance. I'm not concerned, as I worked on server-based software in the past and stuff happens. These thermostats work fine with temporary outages like this.

I was unable to get into the Honeywell app last night. Probably a server issue on their end. As of today 9am EST the Honeywell app works. Not sure about API.

Just checked HE device logs, and yes there is a problem with the API.

2021-08-11 09:52:10.273 am errorThermosat API failed -- status code: 401, reason phrase: Unauthorized: [code:Unauthorized, message:Authorization has been denied for this request ]

That was my suspicion. Just want to make sure. Thanks

@taylor Lovely work sir, I finally was able to replace my Sensibo with my Honeywell D6 Pro!

@taylor any chance you can please add support for different Fan modes?

Hubitat:

Honeywell Home:

@dJOS I might be able to help. Taylor has had to scale back his support for this app/driver because of time constraints. I'm not familiar with the D6 Pro, but it looks like you have it sort of working with taylor's driver? According to the API documentation it is not a supported device.

THe supportedThermostatFanModes attribute is populated with modes by calls to the Honeywell API. The driver is only reporting what the API tells it is supported for the device. If you want to post logs, I could take a look at what is returned by the API when you do a "Refresh" on the device.

1 Like

Thank you. :+1:

Yep, everything works except I don't have the fan modes shown above. The Honeywell Home API definitely supports these as I used the exact same API via the official "Lyric/HH" integration that was available on the Vera platform.

Im happy to post logs if you can tell me what you are looking for - despite turning on debug logging, I'm not seeing anything useful in the logs.

I'm guessing that you turned up the logging level on the driver. You need to turn up logging in the app, where all of the real work is done. After you turn up the logging in the app, do a "Refresh" and you should see a lot of data being logged. Be careful what you post, as there is some sensitive info (login info) returned in the logs. You could send the log to me in a PM if you are uncomfortable posting.

Something else to keep in mind - Just because it works in the Honeywell Home App doesn't mean it should work in the public API. Taylor did some reverse-engineering during the driver development and found that the Honeywell Home App was using some undocumented API. We'll see what is returned in the logs.

1 Like

You guessed correct - here are the App debug logs:

app:912021-10-14 10:50:34.584 am debugupdateThermostats-thermostatOperatingState: idle
app:912021-10-14 10:50:34.580 am debugThermostate Does not Support: thermostatFanState (fanRunning)
app:912021-10-14 10:50:34.577 am debugupdateThermostats-fanRunning: null
app:912021-10-14 10:50:34.573 am debugrefreshHelper() cloudString:fanRunning - deviceString:thermostatFanState - device:Rumpus Room AC - optionalUnits:null - optionalMakeLowerMap:null -optionalMakeLowerString:null
app:912021-10-14 10:50:34.570 am debugupdateThermostats-mode: On
app:912021-10-14 10:50:34.566 am debugrefreshHelper() cloudString:mode - deviceString:thermostatFanMode - device:Rumpus Room AC - optionalUnits:null - optionalMakeLowerMap:null -optionalMakeLowerString:null
app:912021-10-14 10:50:34.562 am debugupdateThermostats-allowedModes: [On, Auto]
app:912021-10-14 10:50:34.559 am debugrefreshHelper() cloudString:allowedModes - deviceString:supportedThermostatFanModes - device:Rumpus Room AC - optionalUnits:null - optionalMakeLowerMap:null -optionalMakeLowerString:null
app:912021-10-14 10:50:34.555 am debugThermostat does not support emergency heat
app:912021-10-14 10:50:34.551 am debugThermostat does not support auto change over
app:912021-10-14 10:50:34.548 am debugupdateThermostats-mode: Off
app:912021-10-14 10:50:34.542 am debugrefreshHelper() cloudString:mode - deviceString:thermostatMode - device:Rumpus Room AC - optionalUnits:null - optionalMakeLowerMap:null -optionalMakeLowerString:null
app:912021-10-14 10:50:34.538 am debugupdateThermostats-coolSetpoint: 23
app:912021-10-14 10:50:34.533 am debugrefreshHelper() cloudString:coolSetpoint - deviceString:coolingSetpoint - device:Rumpus Room AC - optionalUnits:C - optionalMakeLowerMap:null -optionalMakeLowerString:null
app:912021-10-14 10:50:34.529 am debugupdateThermostats-heatSetpoint: 18
app:912021-10-14 10:50:34.524 am debugrefreshHelper() cloudString:heatSetpoint - deviceString:heatingSetpoint - device:Rumpus Room AC - optionalUnits:C - optionalMakeLowerMap:null -optionalMakeLowerString:null
app:912021-10-14 10:50:34.519 am debugupdateThermostats-allowedModes: [Heat, Off, Cool]
app:912021-10-14 10:50:34.512 am debugrefreshHelper() cloudString:allowedModes - deviceString:allowedModes - device:Rumpus Room AC - optionalUnits:null - optionalMakeLowerMap:null -optionalMakeLowerString:null
app:912021-10-14 10:50:34.507 am debugupdateThermostats-indoorHumidity: 54
app:912021-10-14 10:50:34.503 am debugrefreshHelper() cloudString:indoorHumidity - deviceString:humidity - device:Rumpus Room AC - optionalUnits:null - optionalMakeLowerMap:null -optionalMakeLowerString:null
app:912021-10-14 10:50:34.496 am debugupdateThermostats-allowedModes: [Heat, Off, Cool]
app:912021-10-14 10:50:34.492 am debugrefreshHelper() cloudString:allowedModes - deviceString:supportedThermostatModes - device:Rumpus Room AC - optionalUnits:null - optionalMakeLowerMap:null -optionalMakeLowerString:null
app:912021-10-14 10:50:34.488 am debugupdateThermostats-indoorTemperature: 20
app:912021-10-14 10:50:34.484 am debugrefreshHelper() cloudString:indoorTemperature - deviceString:temperature - device:Rumpus Room AC - optionalUnits:C - optionalMakeLowerMap:null -optionalMakeLowerString:null
app:912021-10-14 10:50:34.480 am debugupdateThermostats-tempUnits: C
app:912021-10-14 10:50:34.475 am debugreJson: {[firmwareVersion:1.1.0.0, displayedOutdoorHumidity:100, vacationHold:[enabled:false], currentSchedulePeriod:[day:Monday, period:Home], scheduleCapabilities:[availableScheduleTypes:[None, Geofenced, TimedNorthAmerica], schedulableFan:false], scheduleType:[scheduleType:Geofence], changeSource:[by:partner, name:Hubitat], scheduleStatus:Resume, allowedTimeIncrements:15, settings:[hardwareSettings:[brightness:2, maxBrightness:10], fan:[allowedModes:[On, Auto], changeableValues:[mode:On, speed:2], allowedSpeeds:[[item:Low, value:[speed:1, mode:On]], [item:Medium, value:[speed:2, mode:On]], [item:High, value:[speed:3, mode:On]], [item:Auto, value:[speed:null, mode:Auto]]]], temperatureMode:[air:false], specialMode:[:], devicePairingEnabled:false], deviceOsVersion:DC6000WF1001, deviceClass:Thermostat, deviceType:Thermostat, deviceID:LCC-B82CA0022684, deviceInternalID:1393461, userDefinedDeviceName:Rumpus Room, name:Rumpus Room, isAlive:true, isUpgrading:false, isProvisioned:true, macID:B82CA0022684, deviceSettings:[:], parentDeviceId:1, partnerInfo:[singleOrMultiODUConfiguration:1, parentDeviceModelId:8, parentDeviceBrandId:1, oduName:Outdoor Unit 1], service:[mode:Up], deviceRegistrationDate:2019-04-16T21:41:54.82, dataSyncStatus:Completed, units:Celsius, indoorTemperature:20, outdoorTemperature:11, allowedModes:[Heat, Off, Cool], deadband:0, hasDualSetpointStatus:false, minHeatSetpoint:16, maxHeatSetpoint:30, minCoolSetpoint:18, maxCoolSetpoint:31, changeableValues:[mode:Off, heatSetpoint:18, coolSetpoint:23, thermostatSetpointStatus:TemporaryHold, endHeatSetpoint:21, endCoolSetpoint:26, heatCoolMode:Cool], operationStatus:[mode:EquipmentOff, fanRequest:false, circulationFanRequest:false], indoorHumidity:54, indoorHumidityStatus:Measured, deviceModel:D6]}
app:912021-10-14 10:50:34.456 am debugreCode: {200}
app:912021-10-14 10:50:33.204 am debugLocation Discovery-params ####removed####
app:912021-10-14 10:50:33.200 am debugAttempting to Update DeviceID: LCC-B82CA0022684, With LocationID: 1232142
app:912021-10-14 10:50:33.197 am debugrefreshThermosat()
app:912021-10-14 10:50:33.193 am debugRefreshAllDevices()
app:912021-10-14 10:50:28.210 am infoParent Installed OK

It looks like there is a "fan speed" section:

fan:[allowedModes:[On, Auto], changeableValues:[mode:On, speed:2], allowedSpeeds:[[item:Low, value:[speed:1, mode:On]], [item:Medium, value:[speed:2, mode:On]], [item:High, value:[speed:3, mode:On]], [item:Auto, value:[speed:null, mode:Auto]]]],

Nice. I don't recall ever seeing that section before. It looks like they may have added it to support for the D6 Pro. I can look into fixing the driver/app to read and apply these new settings, but I'll need you to test it out.

It may take me a few days to get to this, as I'm quite busy at the moment.

1 Like

Thank you, Im happy to help out. :+1:

No dramas, we are still in spring and haven't needed the split-system AC yet.

@dJOS I finally got some time to look at the fan speed issue. The biggest problem I see is that I don't know what the Honeywell API call to change the fan speed looks like. Honeywell has not updated the API docs in quite awhile, so I'm flying blind when it comes to calling a web service to change the fan speed. With the logs that you provided, I can parse the data to get the supported fan speeds and put that information into the driver. What good is that, however, if you can't programmatically change the speed?

Also, fan speed does not appear to be a standard thermostat capability, so the standard Hubitat thermostat dashboard tile won't support fan speed.

I'm going to email Honeywell to see if I can get information on the API call required to change the fan speed. Stay tuned.

1 Like

Cheers, much appreciated. :+1:

I seemed to have lost connectivity since 10/20 and can't seem to update/refresh/inialize/authenticate anything to get it to resync. Any idea if there was something in the last flurry of releases that broke this app?
I haven't tried uninstalling and reinstalling, but I have done 'repair' via package mgr and no help so far.

@ryanfoster34 The app hasn't had any updates in months. You can turn on debug logging in the app to see what errors you are getting. First, I would try reauthorizing with Honeywell. I have mysteriously lost authorization a couple of times, but not recently. In the app, click on the "login options" button and then click on the "Connect with Honeywell" button and follow the instructions to reauthorize the thermostat.

1 Like