homebridge-nest icon indicating copy to clipboard operation
homebridge-nest copied to clipboard

FIREBASE WARNING: set at /devices/thermostats

Open maratonat opened this issue 8 years ago • 13 comments

I have been trying to setup the plugin. Every setup step I followed seemed to match the expected outcome, except after having added the token to the config file I am seeing the following error when attempting to adjust the thermostat temperature:

FIREBASE WARNING: set at /devices/thermostats/7u3hYcaA_NO...75CZ/target_temperature_f failed: Cannot set %s while mode is %s

Any help would be appreciated.

maratonat avatar Sep 23 '16 03:09 maratonat

Reinstalled completely and it seems to be working better now. Still don't see nest away in iOS 10 Home app.

maratonat avatar Sep 23 '16 13:09 maratonat

The issue is back, re-opening. The problem was alternating between "Cannot set %s while mode is %s" error and "blocked". The mode can still be changed from Off to Cool, or Heat, or back to Off. Only changing the temp is problematic. Also, the concept of Away is not showing up in iOS 10 Home app.

maratonat avatar Sep 24 '16 04:09 maratonat

Yep also having this problem

DanielAlcorn avatar Sep 28 '16 21:09 DanielAlcorn

Apparently this issue crops up when the thermostat is OFF. When the thermostat is set to heat or cool, the issue seems to go away. If this is the case, it sounds like Nest is refusing temp changes while thermostat is OFF, reflecting the way the API works. Can anyone confirm this?

maratonat avatar Oct 03 '16 13:10 maratonat

Yeah I noticed this the other day, can confirm.

DanielAlcorn avatar Oct 03 '16 14:10 DanielAlcorn

I'm also seeing this. I'm happy to pitch in for a fix if anyone has any leads?

bensleveritt avatar Oct 12 '16 22:10 bensleveritt

This is happening for me on one thermostat but not the other. I'm not unable to change temperature or mode. The status is getting read correctly.

marcgetter avatar Nov 01 '16 13:11 marcgetter

I'm about 99% certain this is because HomeKit is rapid firing the change events to the thermostat. This is fine for a local network (as Apple intended) but Nest rate limits you quickly. I'm not sure if they automatically unblock you or not (still waiting for mine). (Edit: yes, they unblock you after an hour)

The solution here would be to add a debounce to the API calls (reset a ~2 second timer every time a target temp event is received, once the timer expires, send the target temperature to Nest). Perhaps it could be added here or here?

Update: It looks like Nest recommends you to "limit requests to one call per minute, maximum".

Update: It seems the rate limit is a sliding one hour.

ericboehs avatar Dec 09 '16 06:12 ericboehs

@KraigM It seems everyone would be running into this. Do you know of a quick way to debounce the updates?

ericboehs avatar Dec 09 '16 06:12 ericboehs

Yep. Same here. I had this problem the very first time I tried to set the temp. More than anything, I'm curious why this isn't a showstopper for all users.

mike-yesware avatar Jan 17 '17 23:01 mike-yesware

I, too, have this issue. After my initial installation, I moved the temperature slider a lot (not the best UI). This resulted in a lot of API calls being made, and my hitting the (unpublished) rate limit. This is indeed a showstopper for me. I'm happy to help implement/review a solution.

clintonb avatar Jan 18 '17 04:01 clintonb

Here it is: https://github.com/KraigM/homebridge-nest/pull/115/files

for the impatient: https://www.npmjs.com/package/homebridge-nest-debounced

igbopie avatar Jan 26 '17 06:01 igbopie

I'm a complete noob, How do I update an existing installation to this version?

danbridgland avatar Jan 29 '17 16:01 danbridgland