Help with Nest Thermostat offset

I have been using a modified version of the Nest device handler from @Dianoga and have not encountered a problem until today (today turned out to be the first day of our heating season). My modifications were basic - changing to the v2 “look” (multiAttributeTile, etc.) and offsetting the temp display. The reason for the latter is because my v2 Nest always reads 2° high, and there is no calibration capability. To accomplish the offset, I changed 32 to 30 in the cToF and fToC defs. This works fine for changing the temp display and the trigger temp used by smartapps. What I discovered today though is that the shutoff temp was apparently still reading direct from the Nest, as it shut off 2 degrees higher than it was set for. Can anyone suggest where I should add the “subtract 2,” so that it shuts off at the displayed heatingSetpoint and coolingSetpoint? I’ve PMd Brian with this question, but not sure how often he checks here these days (or his available time).
Ref. https://github.com/smartthings-users/device-type.nest

I think this is more of a nest thing. I don’t think the nest itself has a temp offset so you can’t change how the thermostat operates. Admittedly , I don’t have a nest… but I think what I said is true. Someone please correct me if I am wrong.

It’s definitely a Nest thing, but the offset I added works (for displayed temp and smartapp trigger). It doesn’t change the reading on the thermostat itself of course, but I don’t care about that. In fact, I don’t think anyone has ever touched the physical device since it was set up. I’m just asking where to add the equivalent offset in the device handler for the setpoint trigger to the Nest, because I’m in over my head.

Real-life example:
Device reads 72 but it’s actually 70
My offset causes 70 to display in ST tile
Thermostat is set (in ST) to trigger “on” if != Night and temp < 71 (and it does)
Instead, of going Idle at 71, it happens at 73 (or 75 as displayed on Nest)

I realize now that I can’t expect an answer from @Dianoga. He wrote this before he became an ST employee, but now that he is, he can’t very well support a device that ST doesn’t support (for legal reasons apparently). No one else has this issue or been able to find a workaround?

Again, just to clarify… I’m not trying to affect anything on the Nest display. Just need to find where to apply an offset in the device handler for sending the heating/cooling setpoint to the Nest. The temp display in the mobile app already displays correctly as a result of the offset I applied.

I’m not prevented from providing support. I just don’t have a Nest anymore so I have to relearn the code every time I look at it. A lot of people have made modifications that have been merged in that I never used. Given all that, I still would have thought modifying cToF and fToC would take care of it. The temperature that is displayed in the device tile is the temperature that SmartThings will use for everything. The actual Nest temperature shouldn’t come into play.

A couple of things I can think of that may be happening…

  1. Nest doesn’t update in real time. It may keep heating past your temperature because of the delay between updates.
  2. Are you telling ST to turn off the Nest once the temperature passes a certain threshold? It will make some of it’s own choices regardless of API commands.

Do either of those make sense in your situation?

1 Like

First, thanks for the update. Your quoted statement makes me believe that #1 may be a distinct possibility. Regarding #2, no, I’m not telling ST to do anything. I just let the Nest go into idle mode when it reaches setpoint. In fact, my setup is pretty simple - I’ve disabled the Auto-schedule in Nest, and just control Nest modes via ST routines. It works much better that way, given that we have a highly variable schedule.

I need to think on this some more. Give me a shout if you have a flash of inspiration.