Nest integration unreliable

So, I’ve been using the new Nest integration for a while and found it to be disappointingly unreliable…, and I would like to try an track down why this is.

The setup is particularly complicated, and thanks to the devs for putting together a very comprehensive set of instructions on how to get it going. However, in my case the integration just does not work as I expect it too.

In my setup I have 2 Nest Thermostat E models, both of which appear in home assistant:

Controlling the thermostats within home assistant works OK. eg. If I change the temperature setting using HA, then a couple of seconds later the temperature will change on my thermostat(s).

The problem comes when ‘pushing’ data from the thermostats to HA, this process is unreliable. eg. I change the temperature on the thermostat and the setting does not update in HA (sometimes).

Regularly when multiple ‘events’ occur HA will miss the updates, eg. At 6am each day the temperature on both thermostats is increased (using the nest scheduler). Often in HA, only one of the thermostats updates with the new temp. The same occurs when the thermostats turn on/off. The result is, most of the time the thermostat values in HA are completely out of sync with the actual values.

If I look at the Pub/Sub subscription page on my google cloud account, there are no ‘unacked’ messages for the nest subscription topic.

My perception is that it’s gotten worse over the last week or so eg. right now, both my thermostats are on, and in HA they are both off. I can change the temp setting in HA whch updates on the thermostats, but the status in HA still says off.

Does anyone have any ideas of where to begin on this one…, there are so many moving parts here I don’t know where to start. I’m also confused as to why when creating the Pub/Sub topic the instructions say to set ‘Pull’ as the delivery type and not ‘Push’ (surely we don’t want HA constantly polling the Google API for events ??)

For example, I changed the temp on my thermostat in the Nest app at 14:30, its now 14:40 and no pub/sub events show up on the cloud console for the topic…

So whats the issue here…, is the google API not publishing the change, or is HA not asking for it ?

The only way I could get the temp to update is reload the integration, then the temp was updated to the correct value, so currently I have a super dirty fix in place which reloads the integration every 60 seconds using a rest command.

After much pulling out of hair trying to use the official Nest integration I came up with a quick & dirty nest integration using Node Red that seems pretty reliable (so far), and gives a lot more visibility to debug API communications. Do you use Node Red? I’d be happy to share the flow.

Hi,
If we can figure out if the problem is the events are not pubilshed vs the a bug in receiving them then that can help us narrow down the issue. You can “sniff” pubsub messages in the cloud console which could help diagnose the issue. I’m the main developer for this integration, and happy to help you work through this if you have the appetite.

Hi,

Happy to help try an pinpoint the issue, what would you like me to do ?

See Google Nest - Home Assistant around “You can see stats about your subscriber…” where you can see how to view messages published on the feed. If you see messages arriving there, but not delivered to home assistant then that would indicate a home assistant bug. If you don’t see the messages you were expecting to arrive there, then it is an issue at a higher level.

I’m trying to get this working too and it would seem that having a “push” subscription would be preferable. At the moment I’ve managed to get my camera streams and thermostat working. The thermostat updates incredibly quickly, the streams seem pretty good, but so far my cameras show “idle” as the state.

I have not view of events, I can see a number of “unacked messages” in the Pub/Sub section of GCP. Which I assume means Nest has sent the messages to the “queue” and HA hasn’t picked them up?

The ins and outs of this are a little complex for me, but essentially I just want to be able to have HA automate things based on “if person detected in this activity zone, do this” or “if specific face recognised, do this”, but I’m not sure this is possible yet even if I get the pub.sub bit working.

Any help on this would be much appreciated.