Git Product home page Git Product logo

homebridge-nest's People

Contributors

adriancable avatar alguevara7 avatar bearmarch avatar chrisjshull avatar chrismikehogan avatar coolcsh avatar dmblakeley avatar donavanbecker avatar ethansinjin avatar fcarucci avatar hroland avatar kraigm avatar leehendricks avatar lpmi-13 avatar masonjames avatar mriksman avatar mrose17 avatar mschmidt avatar nfarina avatar pedroserano avatar philfreo avatar redec avatar rhwood avatar ryck avatar schmittx avatar spacecowgirl314 avatar stemwinder avatar stevenbarash avatar timothystewart6 avatar timrogers avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

homebridge-nest's Issues

Motion sensor

motion sensor from nest can be used as motion sensor accessories?

Temprature discrepancy when running a scene/automation

I have set two scenes:

  1. Leave Home - Mode Cool, 80° F
  2. Arrive Home - Mode Cool, 75° F

Steps to reproduce the behavior:
Initialize the Leave Home scene and the temperature is set to Cooling to 68° rather than 80°.

Versions:
Node Version: 9.2.1
Homebridge: 0.4.44
Homebridge Nest: 2.1.4

Some things to note:
I can reproduce by manually initializing the scene or through automation. It sets the scene correctly for the first 1 to 2 seconds, then it switches to 68° (seems to be honoring the Heating threshold temp). The Arrive home scene seems to be unaffected and executes correctly.

In an effort to troubleshoot, I've been blocked by the Nest API, so I will follow up with a DEBUG log shortly. In the meantime here is the terminal output in case you can glean anything from it.

Leave Home Scene:

[2018-7-4 17:17:47] [Nest] Queuing to set temperature 26.4
[2018-7-4 17:17:52] [Nest] Cooling threshold temperature set to 23.8 null
[2018-7-4 17:17:52] [Nest] Temperature set to 26.4 null
[2018-7-4 17:17:52] [Nest] Heating threshold temperature set to 20 null
[2018-7-4 17:22:27] [Nest] Queuing to set heating threshold temperature 20
[2018-7-4 17:22:27] [Nest] Queuing to set temperature 26.4
[2018-7-4 17:22:27] [Nest] Queuing to set cooling threshold temperature 23.8
[2018-7-4 17:22:33] [Nest] Heating threshold temperature set to 20 null
[2018-7-4 17:22:33] [Nest] Cooling threshold temperature set to 23.8 null
[2018-7-4 17:22:33] [Nest] Temperature set to 26.4 null

Arrive Home Scene

[2018-7-4 18:46:13] [Nest] Queuing to set temperature 23.8
[2018-7-4 18:46:13] [Nest] Queuing to set heating threshold temperature 20
[2018-7-4 18:46:13] [Nest] Queuing to set cooling threshold temperature 23.8
[2018-7-4 18:46:18] [Nest] Heating threshold temperature set to 20 null
[2018-7-4 18:46:18] [Nest] Cooling threshold temperature set to 23.8 null
[2018-7-4 18:46:18] [Nest] Temperature set to 23.8 null

Nest current temp as automation trigger

Is your feature request related to a problem? Please describe.
I would like to trigger an “automation” in HomeKit based on the current detected temperature on the Nest. Presently this sensor doesn’t appear to be available.

For instance, my thermostat doesn’t include cooling, but if I can detect that the temp is at or above a certain level (which HomeKit already shows in the iOS GUI), I could trigger my AC to turn on via HomeKit automation.

I see elsewhere that Nest temp sensors are not supported by the API, but it’s not clear whether the Nest’s own sensor (which already delivers data to HomeKit) is included in this lack of support.

Thanks for listening and for this great plugin!

Motion detection not working

I just installed the plugin, set everything correctly and added the motion sensor to my home app.

But the motion event never fires. It works fine in the Nest app but not in homekit. How to fix? Is it because I am using the camera v4 api?

Nest Secure status

Is your feature request related to a problem? Please describe.
Nest API now allows read access of the Nest Secure security status. Would love to see this integrated into homebridge.

Describe the solution you'd like
Integration into homebridge

Describe alternatives you've considered
NA

Additional context
Currently, the security status shows "device skipped"

Disable features only on some devices

Hey guys,

Here is my setup:

  • 1 Nest Thermostat (also controls my central AC/Air)
  • 3x Nest E Thermostat (only control heat, 1 in each room)

I'd like to disable Eco, Fan & Home on the Nest E's but to keep it on the main Nest that controls the Central Air. Is there a way to do that without having to hide stuff in a separate room?

Thanks,

Phil

BLOCKED when trying to change temp

If I change the temp on the Nest itself, Home app updates within seconds and shows the current set temperature. If i try to change it from the home app, it resets the to what the temperature was set at before I changed it in-app within a few seconds.

In the homebridge logs, I'm getting a BLOCKED message from the NestAPI:

Mar 22 12:53:38 homebridge[19310]: { Error: BLOCKED: {"error":"blocked","type":"https://developer.nest.com/documentation/cloud/error-messages#blocked","message":"blocked","instance":"22bdec9b-5757-4865-9fdf-fcadb0153b12"}

Could google nest's API be that restrictive? I've got the proper permissions set (read/write v6) for the t'stat.

Optionally exclude Nest "accessories"

Please forgive me if this is already possible. I've been searching for a way to do this and I can't find anything. I almost feel bad even writing this because I know it was an implemented feature request to have it in the first place. Is it possible to manually exclude accessories such as "Fan" and "Eco Mode" so that I only have and utilize the Thermostat and Home/Away switch? I never run the fan manually and I have Eco mode configured to run when the Nest is set to Away so for the sake of reducing clutter and only seeing what is used/wanted, is this a possibility?

Thermostat Home & Eco sensors

Could you modify nest-thermostat-accessory.js line 128-135?
It will expose 'Home Occupancy Switch' as a occupancy sensor and 'Eco Mode' as a motion sensor.

if (this.platform.shouldEnableFeature("Thermostat.Home")) {
const homeService = this.addService(Service.OccupancySensor, "Home Occupied", "home_occupied");
this.bindCharacteristic(homeService, Characteristic.OccupancyDetected, "Home Occupied", this.getHome, this.setHome);
}

if (this.platform.shouldEnableFeature("Thermostat.Eco")) {
const thermostatEcoModeService = this.addService(Service.MotionSensor, "Eco Mode", "eco_mode");
this.bindCharacteristic(thermostatEcoModeService, Characteristic.MotionDetected, "Eco Mode", this.getEcoMode, this.setEcoMode);

Error in loading Plugin

Today I randomly got an error when loading the plugin, that is naturally causing my whole homebridge instance to not start.

Apr 8 09:32:10 HomeBridge2018 homebridge[18784]: [2018-4-8 09:32:10] ERROR LOADING PLUGIN homebridge-nest: Apr 8 09:32:10 HomeBridge2018 homebridge[18784]: [2018-4-8 09:32:10] /usr/lib/node_modules/homebridge-nest/node_modules/bluebird/js/release/map.js:130 Apr 8 09:32:10 HomeBridge2018 homebridge[18784]: MappingPromiseArray.0rototypg.preservedValues = function (#011 { Apr 8 09:32:10 HomeBridge2018 homebridge[18784]: ^^ Apr 8 09:32:10 HomeBridge2018 homebridge[18784]: SyntaxError: Invalid or unexpected token Apr 8 09:32:10 HomeBridge2018 homebridge[18784]: at new Script (vm.js:51:7) Apr 8 09:32:10 HomeBridge2018 homebridge[18784]: at createScript (vm.js:136:10) Apr 8 09:32:10 HomeBridge2018 homebridge[18784]: at Object.runInThisContext (vm.js:197:10) Apr 8 09:32:10 HomeBridge2018 homebridge[18784]: at Module._compile (module.js:613:28) Apr 8 09:32:10 HomeBridge2018 homebridge[18784]: at Object.Module._extensions..js (module.js:660:10) Apr 8 09:32:10 HomeBridge2018 homebridge[18784]: at Module.load (module.js:561:32) Apr 8 09:32:10 HomeBridge2018 homebridge[18784]: at tryModuleLoad (module.js:501:12) Apr 8 09:32:10 HomeBridge2018 homebridge[18784]: at Function.Module._load (module.js:493:3) Apr 8 09:32:10 HomeBridge2018 homebridge[18784]: at Module.require (module.js:593:17) Apr 8 09:32:10 HomeBridge2018 homebridge[18784]: at require (internal/module.js:11:18) Apr 8 09:32:10 HomeBridge2018 homebridge[18784]: at module.exports (/usr/lib/node_modules/homebridge-nest/node_modules/bluebird/js/release/promise.js:737:1) Apr 8 09:32:10 HomeBridge2018 homebridge[18784]: at Object.<anonymous> (/usr/lib/node_modules/homebridge-nest/node_modules/bluebird/js/release/bluebird.js:9:36) Apr 8 09:32:10 HomeBridge2018 homebridge[18784]: at Module._compile (module.js:649:30) Apr 8 09:32:10 HomeBridge2018 homebridge[18784]: at Object.Module._extensions..js (module.js:660:10) Apr 8 09:32:10 HomeBridge2018 homebridge[18784]: at Module.load (module.js:561:32) Apr 8 09:32:10 HomeBridge2018 homebridge[18784]: at tryModuleLoad (module.js:501:12)

Later on in the log the following is displayed:

Apr 8 09:32:12 HomeBridge2018 homebridge[18784]: /usr/lib/node_modules/homebridge/lib/api.js:122 Apr 8 09:32:12 HomeBridge2018 homebridge[18784]: throw new Error("The requested platform '" + name + "' was not registered by any plugin."); Apr 8 09:32:12 HomeBridge2018 homebridge[18784]: ^ Apr 8 09:32:12 HomeBridge2018 homebridge[18784]: Error: The requested platform 'Nest' was not registered by any plugin. Apr 8 09:32:12 HomeBridge2018 homebridge[18784]: at API.platform (/usr/lib/node_modules/homebridge/lib/api.js:122:13) Apr 8 09:32:12 HomeBridge2018 homebridge[18784]: at Server._loadPlatforms (/usr/lib/node_modules/homebridge/lib/server.js:294:45) Apr 8 09:32:12 HomeBridge2018 homebridge[18784]: at Server.run (/usr/lib/node_modules/homebridge/lib/server.js:85:36) Apr 8 09:32:12 HomeBridge2018 homebridge[18784]: at module.exports (/usr/lib/node_modules/homebridge/lib/cli.js:40:10) Apr 8 09:32:12 HomeBridge2018 homebridge[18784]: at Object.<anonymous> (/usr/lib/node_modules/homebridge/bin/homebridge:17:22) Apr 8 09:32:12 HomeBridge2018 homebridge[18784]: at Module._compile (module.js:649:30) Apr 8 09:32:12 HomeBridge2018 homebridge[18784]: at Object.Module._extensions..js (module.js:660:10) Apr 8 09:32:12 HomeBridge2018 homebridge[18784]: at Module.load (module.js:561:32) Apr 8 09:32:12 HomeBridge2018 homebridge[18784]: at tryModuleLoad (module.js:501:12) Apr 8 09:32:12 HomeBridge2018 homebridge[18784]: at Function.Module._load (module.js:493:3) Apr 8 09:32:12 HomeBridge2018 homebridge[18784]: at Function.Module.runMain (module.js:690:10) Apr 8 09:32:12 HomeBridge2018 homebridge[18784]: at startup (bootstrap_node.js:194:16) Apr 8 09:32:12 HomeBridge2018 homebridge[18784]: at bootstrap_node.js:666:3 Apr 8 09:32:12 HomeBridge2018 systemd[1]: homebridge.service: Main process exited, code=exited, status=1/FAILURE Apr 8 09:32:12 HomeBridge2018 systemd[1]: homebridge.service: Unit entered failed state.

I have the following versions:
pi@HomeBridge2018:~ $ node -v v9.10.1 pi@HomeBridge2018:~ $ npm -v 5.6.0

Raspberry Pi 3:
pi@HomeBridge2018:~ $ cat /etc/os-release PRETTY_NAME="Raspbian GNU/Linux 9 (stretch)" NAME="Raspbian GNU/Linux" VERSION_ID="9" VERSION="9 (stretch)"

What I have tried:

  • Restarting the HomeBridge Raspberry Pi

  • Reinstalling homebridge-nest

  • Removing homebridge-nest

  • Reinstalling homebridge-nest after reinstall

If I remove the Nest config from the config.json it works fine, so it does appear to be an issue with this particular plugin. I didn't update or do anything to the Pi, this just started happening.

Could you advise?

Thanks

10 degrees celsius

Hi, the lowest setting using the dail of the nest thermostat is 9 degrees .
When using siri and issuing the command to set the temperature to 9 degress it acknowledges but the temperature is always set to 10. It is as if the lowest temperature thats can be set using homebridge nest plugin is 10 degrees celsius. Using siri i can set it to anything else but not 9 degrees.
Is this an issue with the nest plugin? Thanks

Weird issue setting Home/Away

So I don't think this is an issue directly within homebridge-nest but maybe someone can assist in troubleshooting? After a couple days using the homebridge-nest my nest will start going into away mode on its own. I can set Home back in the nest app or within the Home iOS app and a few mins later the house will go back into away mode.

I'm watching the logs in homebridge and its not logging that HomeKit is doing this yet when I unauthorize the homebridge-nest integration this issue stops.

Now as I write this it just happened so I go into the Home iOS app to change back to home and I'm seeing a blocked message in the homebridge logs.

[2018-4-7 07:46:37] [Nest] Setting Home for 09 - Living Room Thermostat (Downstairs) to: home [2018-4-7 07:46:37] [Nest] Setting Home for 10 - Loft Thermostat (Upstairs) to: home FIREBASE WARNING: set at /structures/xxxxx-nlDDJe0sCd2YekJUOvNHqVMFug/away failed: blocked FIREBASE WARNING: set at /structures/xxxxx-nlDDJe0sCd2YekJUOvNHqVMFug/away failed: blocked

Siri sets thermostat to auto (heat/cool) mode when asking it to change temperature and it is set on Cool

I don't use Auto mode - I live in a warm area and I always leave the system on 'cool'. If I ask siri to "set the thermostat to 70" it will turn on auto (heat/cool) mode. Changing temperature via the slider doesn't do this.

EDIT: I realized that this happens when you set the temperature to be higher than the current ambient temperature. See my comment below.

I tried setting the low end temperature to 50 as a workaround but this royally screws up my Alexa integration, which apparently puts the target temperature halfway between the low and high end when you ask it to change the temperature and heat/cool mode is enabled.

This started happening after I upgraded homebridge-nest, I assume because this fork has auto mode implemented.

To Reproduce
Steps to reproduce the behavior:

  1. Set thermostat to 'cool'
  2. Ask Siri to "set the thermostat to 70" or "set the temperature to 70"

Expected behavior
I expect the thermostat to stay on 'cool', not switch to 'auto'

Include with your bug report this version info:

node --version - v7.7.4
homebridge --version - 0.4.42

Make sure you have the latest LTS from https://nodejs.org
and the latest packages: npm upgrade -g homebridge homebridge-nest

Also include debug log output from startup through seeing the issue:
DEBUG=* homebridge -D

  EventedHTTPServer [::ffff:192.168.1.89] HTTP request: /characteristics?id=32.11,32.9,32.15,32.16 +191ms
  HAPServer [CD:33:3D:E3:CE:30] HAP Request: GET /characteristics?id=32.11,32.9,32.15,32.16 +1ms
  Accessory [Homebridge] Getting value for Characteristic "Current Temperature" +3ms
  Accessory [Homebridge] Got Characteristic "Current Temperature" value: 21.1 +2ms
  Accessory [Homebridge] Getting value for Characteristic "Current Heating Cooling State" +1ms
  Accessory [Homebridge] Got Characteristic "Current Heating Cooling State" value: 0 +2ms
  Accessory [Homebridge] Getting value for Characteristic "Cooling Threshold Temperature" +1ms
  Accessory [Homebridge] Got Characteristic "Cooling Threshold Temperature" value: 20 +2ms
  Accessory [Homebridge] Getting value for Characteristic "Heating Threshold Temperature" +1ms
  Accessory [Homebridge] Got Characteristic "Heating Threshold Temperature" value: 17.7 +2ms
  EventedHTTPServer [::ffff:192.168.1.89] HTTP Response is finished +2ms
  EventedHTTPServer [::ffff:192.168.1.89] HTTP request: /characteristics +141ms
  HAPServer [CD:33:3D:E3:CE:30] HAP Request: PUT /characteristics +1ms
  Accessory [Homebridge] Processing characteristic set: [{"aid":32,"iid":15,"value":20}] +3ms
  Accessory [Homebridge] Setting Characteristic "Cooling Threshold Temperature" to value 20 +1ms
[6/20/2018, 12:02:18 AM] [Nest] Queuing to set cooling threshold temperature 20
  EventedHTTPServer [::ffff:192.168.1.89] HTTP Response is finished +10ms
  EventedHTTPServer [::ffff:192.168.1.89] HTTP request: /characteristics +133ms
  HAPServer [CD:33:3D:E3:CE:30] HAP Request: PUT /characteristics +1ms
  Accessory [Homebridge] Processing characteristic set: [{"aid":32,"iid":12,"value":20}] +2ms
  Accessory [Homebridge] Setting Characteristic "Target Temperature" to value 20 +1ms
[6/20/2018, 12:02:19 AM] [Nest] Queuing to set temperature 20
  EventedHTTPServer [::ffff:192.168.1.120] Sending HTTP event '32.12' with data: {"characteristics":[{"aid":32,"iid":12,"value":20}]} +12ms
  EventedHTTPServer [::ffff:192.168.1.89] Muting event '32.12' notification for this connection since it originated here. +4ms
[6/20/2018, 12:02:19 AM] [Nest] Target temperature for Nest Thermostat is: 20 °C and 68 °F

Installation Instructions

From @kfulgham on February 26, 2018 21:57

Ok, I'm probably really dumb, but it took me forever to diagnose why I couldn't get authenticated on Nest.

Turns out that this part of the instructions:


"platforms": [
   	{
   		"platform": "Nest",
   		
   		**"token" : "token will be generated upon first run of homebridge without a token",**
   		
   		"clientId": "developer Product ID",
   		"clientSecret": "developer Product Secret.",
   		"code": "your Pincode from Nest",
   		
   		"username" : "username",
   		"password" : "password"
   	}
   ],

I took completely literally, and kept the text in the token field. If anyone is as dumb as me, perhaps this can be made clearer for them.

Copied from original issue: KraigM/homebridge-nest#173

can't cool but show cool option in homekit

Hi, i have installed the forked version of chrisjshull, my heating system is boiler type, can't cool, but in homekit it show cool options and in eco mode show the heat/cool temperature. Is there a way to remove the cool controls if not supported by system? Thankyou.

API error setting temperature in a scene

Hello. I have a Nest Thermostat set up in a system that only provides heat (eg. furnace only, no A/C). I can set temperatures normally using the slider, but if I try to use a scene to set a specific temperature I've noticed this error in the logs.

I believe the temperature is still being set correctly, but it seems strange to me that it's trying to trigger a heat-cool mode on an incompatible device.

Queuing to set temperature 21
[2018-03-19, 10:18:09 a.m.] [Nest] Queuing to set heating threshold temperature 20
[2018-03-19, 10:18:09 a.m.] [Nest] Queuing to set cooling threshold temperature 24
FIREBASE WARNING: set at /devices/thermostats/[snip]/hvac_mode failed: Cannot change HVAC mode to %s: HVAC cannot %s 
[2018-03-19, 10:18:14 a.m.] [Nest] Heating threshold temperature set to 20 { Error: CANNOT CHANGE HVAC MODE TO %S: HVAC CANNOT %S: {"error":"Cannot change HVAC mode to heat-cool: HVAC cannot cool","type":"https://developer.nest.com/documentation/cloud/error-messages#incompatible-mode","message":"Cannot change HVAC mode to heat-cool: HVAC cannot cool","instance":"[snip]","details":{"mode":"heat-cool","action":"cool"}}

two houses with nests - both showing up in homekit

So, I have a Nest thermostat at my house. My parents also have a Nest thermostat at their house, and they have added me as a user on their thermostat. So, both locations are tied to my nest ID.

So, now my parents house (or at least their thermostats) are showing up as an unnamed room in home.app! I don't want to adjust their thermostat when I come or go from my house. Is there any way to remove this, or to show it as a separate "house"?

Motion Sensor does not trigger for Nest Cam IQ

Does the motion sensor exposed on the basis of an Nest Cam IQ work for anyone?

My Nest Cam IQ is turned on, it detects motion but the HomeKit motion sensor does not trigger.

However, the motion sensor exposed from my Nest Cam Outdoor works. It triggers every time someone walks by.

Any advice on how to fix this for the Nest Cam IQ?

Hiding any specific nest asset

I have multiple nest assets and I am wondering if there is a way to "hide" any specific asset from the home app?

Thanks

Possible to hide certain switches?

It looks like I'm running this forked version of the homebridge-nest now, so that's good! Thanks again for continuing to update this plugin. However, I noticed now I have a few more "devices" listed in the Home app coming from my Nest thermostats. For example, in the past it was simply one device that allowed me to set the temperature. Now there is a switch for Eco mode, home occupancy switch and a fan. Is there any way to hide some of these from HomeKit?

Issue setting ECO to OFF

While running in single or dual mode, I get no response from ECO when trying to turn ECO "off" via the home app. The same is true for Occupancy.
I am, however, able to reliably turn ECO "on" if I set it off from the nest app.

I'm running v2.0.

How to keep Nest Protects from showing up?

I don't want my Nest Protects to show up in the Home app through Homebridge, but they all are. I've turned off Permissions in the Nest Developer site but they're still there. If I'm missing something simple can someone point me in the right direction? Thanks!

duplicate thermostats showing up

Two thermostats show up in the homekit screen, actually with one degree difference

Steps to reproduce the behavior:

  1. install, open homekit and two thermostats appear

Expected behavior
only one thermostat should show up

version info:

node 8.11.1
homebridge 0.4.44

Make sure you have the latest LTS from https://nodejs.org
and the latest packages: npm upgrade -g homebridge homebridge-nest

Also include debug log output from startup through seeing the issue:
DEBUG=* homebridge -D

Only use Nest Protect....

Hi
I only use the Nest Protect devices.....
i currently use version 1.1.3-no legacy ....
Can i update to 2.1.3 if i only use Nest Protect devices ?

regards
Richard

Nest AWAY as single switch, rather than an AWAY switch inside every HomeKit Accessory.

@chrisjshull

Is your feature request related to a problem? Please describe.

Yes. Nest AWAY status doesn't work consistently. Most of the time I have to toggle the Away switch twice to get my Nest Cams to 'turn off' correctly according to the AWAY assist rules set up in the Nest app. I believe this may have something to do with the Characteristic.Away that is created by this plugin under every Nest Cam (HomeKit Accessory).

Describe the solution you'd like

It would make more sense to consolidate the Nest AWAY status/control under ONE HomeKit Switch Accessory which tied into the one Nest.structure rather than each Nest.camera.

Describe alternatives you've considered

  1. "Service.OccupancySensor" could be created instead (of Characteristic.Away for every HomeKit Accessory) to represent the Nest.structure AWAY status, with an added Switch/Toggle to control the AWAY status (which like the current Characteristic.Away in the plugin, this switch would not be visible in the native Home.app tile/Accessory, but can be accessed through third party HomeKit apps like Eve.app).

Additional context

Limit Nest Away Switch to inside 1x HomeKit Occupancy Sensor with three Characteristics:

  1. this.addCharacteristic(Characteristic.OccupancyDetected);
    2.*** this.addCharacteristic(Characteristic.SecuritySystemCurrentState);
    3.*** this.addCharacteristic(Characteristic.SecuritySystemTargetState);
/**
 * Service "Occupancy Sensor"
 */

Service.OccupancySensor = function(displayName, subtype) {
  Service.call(this, displayName, '00000086-0000-1000-8000-0026BB765291', subtype);

  // Required Characteristics
  this.addCharacteristic(Characteristic.OccupancyDetected);

  // Optional Characteristics
  this.addOptionalCharacteristic(Characteristic.StatusActive);
  this.addOptionalCharacteristic(Characteristic.StatusFault);
  this.addOptionalCharacteristic(Characteristic.StatusTampered);
  this.addOptionalCharacteristic(Characteristic.StatusLowBattery);
  this.addOptionalCharacteristic(Characteristic.Name);
};

inherits(Service.OccupancySensor, Service);

Service.OccupancySensor.UUID = '00000086-0000-1000-8000-0026BB765291';


/**
 * Characteristic "Occupancy Detected"
 */

Characteristic.OccupancyDetected = function() {
  Characteristic.call(this, 'Occupancy Detected', '00000071-0000-1000-8000-0026BB765291');
  this.setProps({
    format: Characteristic.Formats.UINT8,
    maxValue: 1,
    minValue: 0,
    validValues: [0,1],
    perms: [Characteristic.Perms.READ, Characteristic.Perms.NOTIFY]
  });
  this.value = this.getDefaultValue();
};

inherits(Characteristic.OccupancyDetected, Characteristic);

Characteristic.OccupancyDetected.UUID = '00000071-0000-1000-8000-0026BB765291';

// The value property of OccupancyDetected must be one of the following:
Characteristic.OccupancyDetected.OCCUPANCY_NOT_DETECTED = 0;
Characteristic.OccupancyDetected.OCCUPANCY_DETECTED = 1;

/**
 * Characteristic "Security System Current State"
 */

Characteristic.SecuritySystemCurrentState = function() {
  Characteristic.call(this, 'Security System Current State', '00000066-0000-1000-8000-0026BB765291');
  this.setProps({
    format: Characteristic.Formats.UINT8,
    maxValue: 4,
    minValue: 0,
    validValues: [0,1,2,3,4],
    perms: [Characteristic.Perms.READ, Characteristic.Perms.NOTIFY]
  });
  this.value = this.getDefaultValue();
};

inherits(Characteristic.SecuritySystemCurrentState, Characteristic);

Characteristic.SecuritySystemCurrentState.UUID = '00000066-0000-1000-8000-0026BB765291';

// The value property of SecuritySystemCurrentState must be one of the following:
Characteristic.SecuritySystemCurrentState.STAY_ARM = 0;
Characteristic.SecuritySystemCurrentState.AWAY_ARM = 1;
Characteristic.SecuritySystemCurrentState.NIGHT_ARM = 2;
Characteristic.SecuritySystemCurrentState.DISARMED = 3;
Characteristic.SecuritySystemCurrentState.ALARM_TRIGGERED = 4;

/**
 * Characteristic "Security System Target State"
 */

Characteristic.SecuritySystemTargetState = function() {
  Characteristic.call(this, 'Security System Target State', '00000067-0000-1000-8000-0026BB765291');
  this.setProps({
    format: Characteristic.Formats.UINT8,
    maxValue: 3,
    minValue: 0,
    validValues: [0,1,2,3],
    perms: [Characteristic.Perms.READ, Characteristic.Perms.WRITE, Characteristic.Perms.NOTIFY]
  });
  this.value = this.getDefaultValue();
};

inherits(Characteristic.SecuritySystemTargetState, Characteristic);

Characteristic.SecuritySystemTargetState.UUID = '00000067-0000-1000-8000-0026BB765291';

// The value property of SecuritySystemTargetState must be one of the following:
Characteristic.SecuritySystemTargetState.STAY_ARM = 0;
Characteristic.SecuritySystemTargetState.AWAY_ARM = 1;
Characteristic.SecuritySystemTargetState.NIGHT_ARM = 2;
Characteristic.SecuritySystemTargetState.DISARM = 3;

Improve API rate limiting code

After a succesfull install and tinkering around a bit with the slider in the ios home app on my iphone, i've seen the code run smoothly in terminal and all was working fine.

However after a short period of time there was an error coming up in terminal ending with 'BLOCKED'

Creating a new 'product' at the nest developer platform and re-adding this to the .json config file seems to have fixed the issue..

Not sure what was causing this... I know with other nest control apps that sending to many commands in a short period of time can stall this app to send any more commands to the nest thermostat.

"The requested platform 'Nest' was not registered by any plugin."

Homebridge does not recognize the nest plug in after upgrading nodejs.

Error: The requested platform 'Nest' was not registered by any plugin.
at API.platform (/usr/local/lib/node_modules/homebridge/lib/api.js:122:13)
at Server.str.replace.Server._loadPlatforms (/usr/local/lib/node_modules/homebridge/lib/server.js:294:45)
at Server.str.replace.Server.run (/usr/local/lib/node_modules/homebridge/lib/server.js:85:36)
at module.exports (/usr/local/lib/node_modules/homebridge/lib/cli.js:40:10)
at Object. (/usr/local/lib/node_modules/homebridge/bin/homebridge:17:22)
at Module._compile (module.js:409:26)
at Object.Module._extensions..js (module.js:416:10)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Function.Module.runMain (module.js:441:10)
at startup (node.js:139:18)
at node.js:974:3

Max Temp In Auto Mode

To Reproduce
Steps to reproduce the behavior:

Using the latest version of homebridge-nest (2.1.3)

  1. Set the Nest thermostat to auto mode in the Home app
  2. Attempt to set the max (cool) temperature, the max is 77° F in the Home app, but 90° F in the Nest app.
  3. Set the Nest thermostat to cool mode in the Home app
  4. Attempt to set the max temperature, the max is 100° F in the Home app, but 90° F in the Nest app.

Expected behavior

The min and max temperatures in the Home app should match the min and max temperatures in the Nest app.

Include with your bug report this version info:

node --version
v8.11.2

homebridge --version
0.4.43

Screenshots:

img_2735
img_2737
img_2738

[2018-6-20 08:42:02] [Nest] Temperature set to 37.8 { Error: TEMPERATURE F VALUE IS TOO HIGH: %S: {"error":"Temperature F value is too high: 100.0","type":"https://developer.nest.com/documenta
tion/cloud/error-messages#high-f-value","message":"Temperature F value is too high: 100.0","instance":"3920e78e-16a1-4899-8b7a-9d3a1880d96c","details":{"tempF":"100.0"}}                       
    at /homebridge/node_modules/firebase/lib/firebase-node.js:226:115                                                                                                                           
    at ec (/homebridge/node_modules/firebase/lib/firebase-node.js:52:165)                                                                                                                       
    at Pi (/homebridge/node_modules/firebase/lib/firebase-node.js:226:23)                                                                                                                       
    at /homebridge/node_modules/firebase/lib/firebase-node.js:221:404                                                                                                                           
    at /homebridge/node_modules/firebase/lib/firebase-node.js:184:355                                                                                                                           
    at Rh.h.Jd (/homebridge/node_modules/firebase/lib/firebase-node.js:186:104)                                                                                                                 
    at Fh.Jd (/homebridge/node_modules/firebase/lib/firebase-node.js:176:364)                                                                                                                   
    at wh.Jg (/homebridge/node_modules/firebase/lib/firebase-node.js:174:280)                                                                                                                   
    at zh (/homebridge/node_modules/firebase/lib/firebase-node.js:168:464)                                                                                                                      
    at Client.Ka.onmessage (/homebridge/node_modules/firebase/lib/firebase-node.js:167:321)                                                                                                     
    at Client.dispatchEvent (/homebridge/node_modules/firebase/node_modules/faye-websocket/lib/faye/websocket/api/event_target.js:22:30)                                                        
    at Client._receiveMessage (/homebridge/node_modules/firebase/node_modules/faye-websocket/lib/faye/websocket/api.js:134:10)                                                                  
    at Client.<anonymous> (/homebridge/node_modules/firebase/node_modules/faye-websocket/lib/faye/websocket/api.js:34:49)                                                                       
    at emitOne (events.js:121:20)                                                                                                                                                               
    at Client.emit (events.js:211:7)                                                                                                                                                            
    at Client.<anonymous> (/homebridge/node_modules/firebase/node_modules/faye-websocket/node_modules/websocket-driver/lib/websocket/driver/hybi.js:451:14)                                     
    at pipe (/homebridge/node_modules/firebase/node_modules/faye-websocket/node_modules/websocket-driver/node_modules/websocket-extensions/lib/pipeline/index.js:37:40)                         
    at Pipeline._loop (/homebridge/node_modules/firebase/node_modules/faye-websocket/node_modules/websocket-driver/node_modules/websocket-extensions/lib/pipeline/index.js:44:3)                
    at Pipeline.processIncomingMessage (/homebridge/node_modules/firebase/node_modules/faye-websocket/node_modules/websocket-driver/node_modules/websocket-extensions/lib/pipeline/index.js:13:8
)                                                                                                                                                                                               
    at Extensions.processIncomingMessage (/homebridge/node_modules/firebase/node_modules/faye-websocket/node_modules/websocket-driver/node_modules/websocket-extensions/lib/websocket_extensions
.js:133:20)                                                                                                                                                                                     
    at Client._emitMessage (/homebridge/node_modules/firebase/node_modules/faye-websocket/node_modules/websocket-driver/lib/websocket/driver/hybi.js:442:22)                                    
    at Client._emitFrame (/homebridge/node_modules/firebase/node_modules/faye-websocket/node_modules/websocket-driver/lib/websocket/driver/hybi.js:405:19)                                      
  cause: { Error: TEMPERATURE F VALUE IS TOO HIGH: %S: {"error":"Temperature F value is too high: 100.0","type":"https://developer.nest.com/documentation/cloud/error-messages#high-f-value","me
ssage":"Temperature F value is too high: 100.0","instance":"3920e78e-16a1-4899-8b7a-9d3a1880d96c","details":{"tempF":"100.0"}}                                                                  
    at /homebridge/node_modules/firebase/lib/firebase-node.js:226:115                                                                                                                           
    at ec (/homebridge/node_modules/firebase/lib/firebase-node.js:52:165)                                                                                                                       
    at Pi (/homebridge/node_modules/firebase/lib/firebase-node.js:226:23)                                                                                                                       
    at /homebridge/node_modules/firebase/lib/firebase-node.js:221:404                                                                                                                           
    at /homebridge/node_modules/firebase/lib/firebase-node.js:184:355                                                                                                                           
    at Rh.h.Jd (/homebridge/node_modules/firebase/lib/firebase-node.js:186:104)                                                                                                                 
    at Fh.Jd (/homebridge/node_modules/firebase/lib/firebase-node.js:176:364)                                                                                                                   
    at wh.Jg (/homebridge/node_modules/firebase/lib/firebase-node.js:174:280)                                                                                                                   
    at zh (/homebridge/node_modules/firebase/lib/firebase-node.js:168:464)                                                                                                                      
    at Client.Ka.onmessage (/homebridge/node_modules/firebase/lib/firebase-node.js:167:321)                                                                                                     
    at Client.dispatchEvent (/homebridge/node_modules/firebase/node_modules/faye-websocket/lib/faye/websocket/api/event_target.js:22:30)                                                        
    at Client._receiveMessage (/homebridge/node_modules/firebase/node_modules/faye-websocket/lib/faye/websocket/api.js:134:10)                                                                  
    at Client.<anonymous> (/homebridge/node_modules/firebase/node_modules/faye-websocket/lib/faye/websocket/api.js:34:49)                                                                       
    at emitOne (events.js:121:20)                                                                                                                                                               
    at Client.emit (events.js:211:7)                                                                                                                                                            
    at Client.<anonymous> (/homebridge/node_modules/firebase/node_modules/faye-websocket/node_modules/websocket-driver/lib/websocket/driver/hybi.js:451:14)                                     
    at pipe (/homebridge/node_modules/firebase/node_modules/faye-websocket/node_modules/websocket-driver/node_modules/websocket-extensions/lib/pipeline/index.js:37:40)                         
    at Pipeline._loop (/homebridge/node_modules/firebase/node_modules/faye-websocket/node_modules/websocket-driver/node_modules/websocket-extensions/lib/pipeline/index.js:44:3)                
    at Pipeline.processIncomingMessage (/homebridge/node_modules/firebase/node_modules/faye-websocket/node_modules/websocket-driver/node_modules/websocket-extensions/lib/pipeline/index.js:13:8
)                                                                                                                                                                                               
    at Extensions.processIncomingMessage (/homebridge/node_modules/firebase/node_modules/faye-websocket/node_modules/websocket-driver/node_modules/websocket-extensions/lib/websocket_extensions
.js:133:20)                                                                                                                                                                                     
    at Client._emitMessage (/homebridge/node_modules/firebase/node_modules/faye-websocket/node_modules/websocket-driver/lib/websocket/driver/hybi.js:442:22)                                    
    at Client._emitFrame (/homebridge/node_modules/firebase/node_modules/faye-websocket/node_modules/websocket-driver/lib/websocket/driver/hybi.js:405:19) code: 'TEMPERATURE F VALUE IS TOO HIG
H: %S' },                                                                                                                                                                                       
  isOperational: true,                                                                                                                                                                          
  code: 'TEMPERATURE F VALUE IS TOO HIGH: %S' }  

Siri temp reporting issue

One bug I noticed, asking Siri the current temp, she accurately reports the temp of the requested thermostat, but also reports 'going down to....' and references the Eco low temp setting. So somehow the Eco settings are being mixed up with the current high/low settings.
Example: My Eco setting is 50 Low 80 High. With a Thermostat home setting of 66 low and 75 high on Auto, Siri reports current temp 68 going down to 50...

Better Service for Nest Thermostat?

Hello,

I think it's awesome you picked up the development work on this plugin. I've been playing around with the HomeKit Accessory Simulator and noticed they have a new service for heating and cooling "heater cooler". I think this would work a lot better for the thermostat and how it functions. As I understand it, the plugin changes the temp for whichever is closest as a way to deal with how different the thermostat service functions in homekit. Do you think it would be possible to expose it using this service? I forked it and was trying to play with it, but I'm running into some issues.

img_1018
img_1017
img_1016

Remote Sensors

Has any work been done on adding the Nest remote sensors to this home ridge plugin? I have two sensors and I’m willing to test. Thanks!

iOS 12 Developer Beta

Describe the bug
Random Nest accessories are showing up as duplicates with no functionality and displaying "not supported". The duplicate accessories also have a 'home' icon.

To Reproduce
Steps to reproduce the behavior:

  1. Open HomeKit app

Include with your bug report this version info:

node --version
v7.10.0
homebridge --version
latest

Make sure you have the latest LTS from https://nodejs.org
and the latest packages: npm upgrade -g homebridge homebridge-nest

Also include debug log output from startup through seeing the issue:
DEBUG=* homebridge -D

Publish to NPM

Thanks for setting up this new version of the plugin--all of the changes are great! Any chance you could publish it to NPM? I had to fork it and publish myself because I was having issues installing via the github URL.

Add Nest from Field Test account

Would it be possible to add a Thermostat that is associated with a Nest Field Test account? I currently have my three Nest devices associated with that account and would like to still use them with homebridge.

New Issues Seen Today

All

I saw some errors pop up last night and didn't think much about it. Installed the latest macOS High Sierra beta today and now get further errors. Anyone else seeing this ? Only just started happening, was working fine before yesterday. The home bridge-smartthings piece I have posted over on that repository. My config.json is still set correctly, home bridge now won't even load the devices pulled over from SmartThings or homebridge-nest directly that way:

3/12/2018, 12:23:51 PM] Loaded plugin: homebridge-legacy-plugins
[3/12/2018, 12:23:51 PM] Registering accessory 'homebridge-legacy-plugins.AD2USB'
[3/12/2018, 12:23:51 PM] Registering accessory 'homebridge-legacy-plugins.Carwings'
[3/12/2018, 12:23:51 PM] Registering accessory 'homebridge-legacy-plugins.ELKM1'
[3/12/2018, 12:23:51 PM] Registering accessory 'homebridge-legacy-plugins.FileSensor'
[3/12/2018, 12:23:51 PM] Registering accessory 'homebridge-legacy-plugins.GenericRS232Device'
[3/12/2018, 12:23:51 PM] Registering accessory 'homebridge-legacy-plugins.HomeMatic'
[3/12/2018, 12:23:51 PM] Registering accessory 'homebridge-legacy-plugins.HomeMaticThermo'
[3/12/2018, 12:23:51 PM] Registering accessory 'homebridge-legacy-plugins.HomeMaticWindow'
[3/12/2018, 12:23:51 PM] Registering accessory 'homebridge-legacy-plugins.HttpGarageDoorOpener'
[3/12/2018, 12:23:51 PM] Registering accessory 'homebridge-legacy-plugins.HttpHygrometer'
[3/12/2018, 12:23:51 PM] Registering accessory 'homebridge-legacy-plugins.HttpThermometer'
[3/12/2018, 12:23:51 PM] Registering accessory 'homebridge-legacy-plugins.Tesla'
[3/12/2018, 12:23:51 PM] Registering accessory 'homebridge-legacy-plugins.X10'
[3/12/2018, 12:23:51 PM] Registering accessory 'homebridge-legacy-plugins.mpdclient'
[3/12/2018, 12:23:51 PM] Registering platform 'homebridge-legacy-plugins.Domoticz'
[3/12/2018, 12:23:51 PM] Registering platform 'homebridge-legacy-plugins.HomeAssistant'
[3/12/2018, 12:23:51 PM] Registering platform 'homebridge-legacy-plugins.HomeSeer'
[3/12/2018, 12:23:51 PM] Registering platform 'homebridge-legacy-plugins.ISY'
[3/12/2018, 12:23:51 PM] Registering platform 'homebridge-legacy-plugins.LIFx'
[3/12/2018, 12:23:51 PM] Registering platform 'homebridge-legacy-plugins.SmartThings'
[3/12/2018, 12:23:51 PM] Registering platform 'homebridge-legacy-plugins.TelldusLive'
[3/12/2018, 12:23:51 PM] Registering platform 'homebridge-legacy-plugins.ZWayServer'
[3/12/2018, 12:23:51 PM] ---
[3/12/2018, 12:23:51 PM] ====================
[3/12/2018, 12:23:51 PM] ERROR LOADING PLUGIN homebridge-nest:
[3/12/2018, 12:23:51 PM] SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:374:25)
at Object.Module._extensions..js (module.js:417:10)
at Module.load (module.js:344:32)
at Function.Module._load (module.js:301:12)
at Module.require (module.js:354:17)
at require (internal/module.js:12:17)
at Plugin.load (/usr/local/lib/node_modules/homebridge/lib/plugin.js:65:22)
at Server. (/usr/local/lib/node_modules/homebridge/lib/server.js:132:14)
at Array.forEach (native)
[3/12/2018, 12:23:51 PM] ====================
[3/12/2018, 12:23:51 PM] Loaded plugin: homebridge-smartthings
[3/12/2018, 12:23:51 PM] Registering platform 'homebridge-smartthings.SmartThings'
[3/12/2018, 12:23:51 PM] ---
[3/12/2018, 12:23:51 PM] Loaded config.json with 0 accessories and 2 platforms.
[3/12/2018, 12:23:51 PM] ---
[3/12/2018, 12:23:51 PM] Loading 2 platforms...
/usr/local/lib/node_modules/homebridge/lib/api.js:122
throw new Error("The requested platform '" + name + "' was not registered by any plugin.");
^

Error: The requested platform 'Nest' was not registered by any plugin.
at API.platform (/usr/local/lib/node_modules/homebridge/lib/api.js:122:13)
at Server._loadPlatforms (/usr/local/lib/node_modules/homebridge/lib/server.js:284:45)
at Server.run (/usr/local/lib/node_modules/homebridge/lib/server.js:80:36)
at module.exports (/usr/local/lib/node_modules/homebridge/lib/cli.js:40:10)
at Object. (/usr/local/lib/node_modules/homebridge/bin/homebridge:17:22)
at Module._compile (module.js:410:26)
at Object.Module._extensions..js (module.js:417:10)
at Module.load (module.js:344:32)
at Function.Module._load (module.js:301:12)
at Function.Module.runMain (module.js:442:10)

Siri: switching mode while changing temp doesn't work

after doing some testing, it looks like we still need something like setHeatCoolIfNeeded, but tweaked.
What I tested:

  • PASS: put Nest in cool mode. put nest in eco mode. say "set the temperature to N°". expected: back in cool mode, temp set to N°
  • PASS: put Nest in heat mode. put nest in eco mode. say "set the temperature to N°". expected: back in heat mode, temp set to N°
  • PASS: put Nest in auto mode. put nest in eco mode. say "set the temperature to N°". expected: back in auto mode, (one of high or low) temp set to N°
  • FAIL: put Nest in heat mode. say "cool the house to N°". expected: switch to cool mode, temp set to N°

token will not be displayed in logfile

When I start HomeBridge the first time with the plugin enabled and configured no token is displayed.

Include with your bug report this version info:

node --version
v8.9.4
homebridge --version
0.4.44

Make sure you have the latest LTS from https://nodejs.org
and the latest packages: npm upgrade -g homebridge homebridge-nest

Also include debug log output from startup through seeing the issue:
DEBUG=* homebridge -D

UK Thermostat - eco_temperature_low_c is undefined

I have a Heat-only Nest (UK Nest - we don't have AUTO or COOLING).

My Nests (for the example below) are;
Guest: OFF. Target temp previously at 18 deg C. I have no idea where it is getting 20 deg C from for the target_temperature_low_c variable. When it is ON, it displays 18 correctly.
Living: ECO. Eco temperature is set to 18 deg C. In Home app it shows 10. Looking at the variables it uses to obtain the TargetTemperature - there is clearly something wrong;

[3/9/2018, 6:17:36 AM] [Nest] Guest Thermostat target_temperature_c: 18
[3/9/2018, 6:17:36 AM] [Nest] Guest Thermostat target_temperature_low_c: 20
[3/9/2018, 6:17:36 AM] [Nest] Living Room Thermostat eco_temperature_low_c: undefined
[3/9/2018, 6:17:36 AM] [Nest] Living Room Thermostat eco_temperature_low_c: undefined

When I set Guest to ECO, I get the same;

[3/9/2018, 6:17:52 AM] [Nest] Guest Thermostat eco_temperature_low_c: undefined
[3/9/2018, 6:17:52 AM] [Nest] Guest Thermostat eco_temperature_low_c: undefined

Log entries located at lines 241;

                case "eco":
                        this.log(this.name + "eco_temperature_low_c: " + this.device.eco_temperature_low_c);
                        return this.device.eco_temperature_low_c;
                case "heat-cool":
                default:
                        this.log(this.name + "target_temperature_low_c: " + this.device.target_temperature_low_c);
                        return this.device.target_temperature_low_c;

And here at line 226 ;

                default:
                        this.log(this.name + "target_temperature_c: " + this.device.target_temperature_c);
                        return this.device.target_temperature_c;

[Nest] NestFirebase - Disconnect Detected

I installed Homebridge with Homebridge-nest correctly. However, when I launch homebridge, it gives an error with NestFirebase disconnect detected

[2018-3-17 01:07:48] Loaded plugin: homebridge-nest
[2018-3-17 01:07:48] Registering platform 'homebridge-nest.Nest'
[2018-3-17 01:07:48] ---
[2018-3-17 01:07:48] Loaded config.json with 0 accessories and 1 platforms.
[2018-3-17 01:07:48] ---
[2018-3-17 01:07:48] Loading 1 platforms...
[2018-3-17 01:07:48] [Nest] Initializing Nest platform...
[2018-3-17 01:07:48] [Nest] Fetching Nest devices.
[2018-3-17 01:07:48] Loading 0 accessories...
[2018-3-17 01:07:49] [Nest] [NestFirebase] Disconnect Detected

Eco mode sets a temp even when it should be null

Describe the bug
When the nest thermostat is on eco mode, home bridge always sets a temp for heating or cooling, even when the values are set to off. When set to off, heating or cooling values will show the last value they were set to. Even more odd, if you’ve never set a cooling value for eco, it will be set to 24c. So this bug is pulling some cached and pre-set default values.
In my case, 24c was too low for eco cooling. So, I set a cooling value of 32c (the highest) using the eco mode setting screen in the nest app, then I set eco cooling to off. Now my eco cooling is 32c. Better, but not a fix.

To Reproduce
Steps to reproduce the behavior:

  1. Set Nest to Heat only, Cool only, or Off
  2. Turn on Eco Mode
  3. See that the Nest is now set to both Cool and Heat with a value of 24c for cooling if no Eco Mode cooling value had previously been set (same applies to Heat value)

Expected behavior

  1. Eco mode should respect the mode the Nest thermostat is set to.
  2. Eco Cooling value should respect the value it’s set to in the Nest app. If Eco Cooling is off, it should be set to off. Not the last set Eco Cooling value (same applies to Heat value)

Include with your bug report this version info:
node --version - v4.8.2
homebridge --version - 0.4.43

Also include debug log output from startup through seeing the issue:
Nothing is showing up in the log file other than cool mode is set.

Implement some sort of debounce?

Say if I'm too uncertain about what temperature I want and dragged the slider too many times, it might hit the Firebase's (undocumented) throttling. Possible to do some debounce in that regards?

btw Awesome fork! <3

The Nest Smoke Detector details->Serial Number

When displaying the Nest Smoke Detector details the serial number is not displayed correctly.
It's displaying the 'location', in my case 'Hallway' instead of the actual serial number of the device.

To Reproduce
Steps to reproduce the behavior:

  1. Bring up the details for the Nest Smoke Detector in 'Home'
  2. Scroll down to 'Serial Number'

Expected behavior

Include with your bug report this version info:
By using the official Nest app the serial number is being displayed correctly/

Support for multiple homes

Hi, we have 2 Nests in 2 separate homes. The current home bridge-nest supports both Nests, but they appear in the same home. This leads to issues where if you set the temperate in HomeKit or with Siri, without specifying the thermostat, both Nests are adjusted.

Either it should be possible to add the 2 Nests to separate HomeKit homes. But I assume this would require duplicating the homebridge as this is added to a particular home.

The alternative and relative easy solution would be to hide the second Nest so it's no longer visible in HomeKit. This is not possible at the moment, or at least I could not get it to work.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.