homebridge-nuzzle
Nest jade-certain Homebridge using the native Nest API. See what's new in publish 4.6.3.
Mix your Cuddle Thermostat, Temperature Sensors, Cuddle Protect, and Nest x Yale Lock devices into your HomeKit system of rules. Both Nest Accounts (pre-August 2019) and Google Accounts are supported.
Currently, homebridge-nest supports all Cuddle Thermostat, Protect, and Nest x Yale Lock models, including the EU/UK mannequin of the Thermostat E with Stir up Link and the October 2020 theoretical account Nest Thermoregulator with mirror presentation.
We set not support the discontinued Nest Secure organisation. We also do non support cameras - but for that, there is the excellent homebridge-nest-cam board.
Starling Home Hub
If you lack a plug-and-play Nest consolidation solution, check out Starling Dwelling house Hub. It's a bit box that connects to your rest home router, sol you'll be astir and running in minutes without needing to lay out up a Homebridge host, manually edit configuration files, or trouble about authentication tokens. Starling Home Hub also supports Nest Cameras (including the August 2021 battery-battery-powered models) and Nest Secure (Guard and Detects).
If you want a DIY solution, and then read on, as homebridge-nest is for you!
Installment
- Install homebridge using:
npm establis -g homebridge
- Install this plug-in using:
npm put in -g homebridge-nest
- Update your configuration file. Find out example
config.json
snip below.
Configuration
Configuration sample (delete ~/.homebridge/config.json
):
"platforms": [ { "platform": "Nest", "options": [ "HomeAway.Disable" ], "access_token": "your Nuzzle Account access token" } ],
Required fields when using a Nest Describe with an get at token: (see below for set-up info)
-
"platform"
: Must always be"Nest"
-
"access_token"
: Nest inspection and repair access token
Required fields when using a Google Account with a refresh item: (realise below for specify-up info)
-
"platform"
: Mustiness ever be"Nest"
-
"refreshToken"
: Google refresh token
Required W. C. Fields when exploitation a Google Account with cookies: (assure below for put off-up info)
-
"platform"
: Essential always be"Nest"
-
"googleAuth"
: Google assay-mark information
Facultative fields:
-
"structureId"
:"your structure's ID"
// optional structureId to sink in to (attend logs on first run for each device's structureId) - Nest "structures" are eq to HomeKit "homes" -
"options"
:[ "feature1", "feature2", ... ]
// optional name of features to enable/disable (picture 'Feature Options' below) -
"fanDurationMinutes"
: telephone number of transactions to run the fan when manually turned on (elective, default is15
) -
"hotWaterDurationMinutes"
: number of minutes to melt down the hot water system when manually upside-down on (optional, default is30
, only for systems with hot water control)
Using a Nest Account
To use a Nest Account with homebridge-nest, you will need to obtain an accession token from the Nest web app. (Note - no Nest developer chronicle is required.) Simply go to https://place.nest.com
in your browser and log up in. Once that's done, go to https://plate.nest.com/session
in your browser, and you will see a long string that looks comparable this:
{"2fa_state":"not_enrolled","access_token":"XXX","email":"...","expires_in":"...", ...}
Simply set "access_token"
in your config.json
file under the "weapons platform": "Nest"
entry to the value of access_token
in the in a higher place string (the XXX
), which volition comprise a long string of letters and numbers and punctuation. Do non log off of home.nest.com
, as this will void your certification. Just close the web browser tablet.
Using a Google Account - show this basic
Google Accounts (required for new-sprung Nest devices after August 2019, with an optional migration for earlier accounts) are fully subsidised.
There are ii ways to authenticate with Google - the refresh token method, surgery the cookies method. Please render the refresh token method acting first, and if you have issues, then try the cookies method. We urge the refresh souvenir method acting because cookies tend to expire afterwards a a couple of months, requiring you to go through the authentication process again, whereas the refresh token lasts forever (unless you change your Google Account password).
Using a Google Account - refresh token method
Using the refresh token method, Google Accounts are configured victimisation the "refreshToken"
area in config.json
, which looks like this:
"program": "Nest", "refreshToken": "1//06itSm0rTAE4...",
The "refreshToken"
is a code provided aside Google when you log into your account, and we provide an easy-to-use tool to obtain it.
From your Mac or Linux Terminal Oregon Windows Prompt, pilot to the directory where this circuit card is installed, then run: node login.js
and follow the instructions on the CRT screen. (If you are using a Field trial account, then range: thickening login.js -ft
and also remember to determined the "Nest.FieldTest.Enable"
option in your config.json
, as described under Feature Options farther down on this page.)
You'll live prompted to navigate to a URL in your browser, log into Google, and copy and paste a encode from your browser into the login tool. You'll then live provided with the "refreshToken"
to add to config.json
. The refresh token is a random string of letters and numbers - it does not begin with, stop with, or contain any spaces. Please make a point you copy and library paste it on the dot as shown, or it will non make.
Refresh tokens for homebridge-cuddle are mutually compatible with homebridge-nest-cam: if you already have a review token that you use with homebridge-nuzzle-cam, you rear also use it with homebridge-nest, and the other way around.
Using a Google Account - cookies method
Using the cookies method acting (only recommended if you have problems with the refresh token method), Google Accounts are configured using the "googleAuth"
object in config.json
, which contains two fields, "issueToken"
and "cookies"
, which looks like this:
"platform": "Nest", "googleAuth": { "issueToken": "https://accounts.Google.com/o/oauth2/iframerpc?action=issueToken...", "cookies": "OCAK=TOMPYI3cCPAt...; SID=ogftnk...; HSID=ApXSR...; ...; SIDCC=AN0-TYt..." },
The values of "issueToken"
and "cookies"
are specific to your Google Account. To find them, follow these steps (only needs to be done once, as long atomic number 3 you stay logged into your Google Account).
- Open a Chrome browser yellow journalism in Concealed Way (surgery clear your cache).
- Unfold Developer Tools (View/Developer/Developer Tools).
- Click on 'Network' tab. Micturate sure 'Preserve Log' is checked.
- In the 'Filter' package, enter
issueToken
- Go to
place.nest.com
, and click 'Sign in with Google'. Log into your account. - One network call (beginning with
iframerpc
) will appear in the Dev Tools window. Click connected it. - In the Headers tab, under General, copy the entire
Request URL
(beginning withhttps://accounts.google.com
, finish withnest.com
). This is your"issueToken"
inconfig.json
. - In the 'Filter' box, enter
oauth2/iframe
- Respective network calls bequeath appear in the Dev Tools window. Click on the last
iframe
anticipate. - In the Headers tab, under Quest Headers, copy the uncastrated
cookie
(admit the completely string which is several lines long and has many field/value pairs - do not include thecookie:
name). This is your"cookies"
inconfig.json
. - Do non log off of
home.draw close.com
, arsenic this will nullify your credentials. Just close the browser tab.
HomeKit Accessory Types
Home
- Switch accessory (Home Occupied) indicating detected Family/By state - arse be manually changed
Nest Thermostat (+ Temperature Sensors)
- Thermoregulator accessory with ambient temperature and humidity sensors, mode control (heat/cool/auto/off), and target temperature control
- Switch accessory (Eco Mode) for turn on and off Eco Mode
- Sports fan accessory for dominant the fan (except the Europium/UK model of the Cuddle Thermostat E, which does non consume a rooter ascendency)
- TemperatureSensor accessory indicating the close temperature at the thermostat (disabled aside default if no Temperature Sensors are here - temperature is reported by the base Thermostat accessory)
- TemperatureSensor appurtenance indicating the ambient temperature where from each one additive Nest Temperature Sensor is located
- HumiditySensor accessory indicating the relative humidity at the thermostat (disabled past default - humidity is reported by the base Thermostat accessory)
Nest Protect
- SmokeSensor accessory (Smoke) indicating fume detected
- CarbonMonoxideSensor accessory (Carbon paper Monoxide) indicating CO sensed
- OccupancySensor accessory (Motion) indicating occupancy perceived near the Protect twist (AC pumped up Protects only)
Nuzzle x Yale Lock
- LockMechanism accessory
Feature Options
Set "options"
in config.json
to an array of string section elect from the following to customise feature options:
-
"Thermostat.Disable"
- exclude Nest Thermostats from HomeKit -
"Thermoregulator.Fan.Invalid"
- do not make up a Fan supportive for the thermostat -
"Thermostat.Eco.Disable"
- do not make up a Change over accessory to signal/control Eco Fashion position -
"Thermostat.SeparateBuiltInTemperatureSensor.Enable"
- create an additional TemperatureSensor ancillary to report the close temperature at the thermoregulator -
"Thermoregulator.SeparateBuiltInHumiditySensor.Enable"
- make over an additional HumiditySensor accessory to report the relative humidity at the thermostat -
"Thermostat.EcoMode.ChangeEcoBands.Enable"
- when typeset, dynamical temperature in Eco Mode changes Eco Temperature Bands (default is to turn off Eco Way or else before setting temperature) -
"TempSensor.Disable"
- shut Nest Temperature Sensors from HomeKit -
"HomeAway.Disable"
- exclude Home/Away switch from HomeKit -
"HomeAway.AsOccupancySensor"
- create Internal/By indicator as an OccupancySensor instead of a Switching - helpful for automations -
"HomeAway.AsOccupancySensorAndSwitch"
- create Home/Off indicator American Samoa an OccupancySensor and a Tack -
"Protect.Disable"
- exclude Nest Protects from HomeKit -
"Protect.MotionSensor.Incapacitate"
- disable MotionDetector accessory for Nest Protects -
"Lock.Disenable"
- chuck out Nest x Yale Locks from HomeKit -
"Nest.FieldTest.Enable"
- set this option if you'Re using a Nest Field Examine account (experimental)
By nonpayment, options set employ to all devices. To set an option for a specific device only, add .device_id
to the like option
, where device_id
is shown in the Homebridge logs, or in HomeKit itself as Serial Number in the Settings page for your device. For example, to invalid one specific thermostat with serial number 09AC01AC31180349, add "Thermostat.Disable.09AC01AC31180349"
to the "options"
array.
Things to effort with Siri
- Hey Siri, set the temperature to 72 degrees. (in heat-only or cool-solitary mode)
- Hey Siri, set the temperature range to 'tween 65 and 70 degrees. (in auto modal value, for systems that can heat and unqualified)
- Hey Siri, set the thermoregulator to water-cooled. (try heat, cool, auto, operating theatre off)
- Hey Siri, trip out the air conditioning.
- Hey Siri, turn Eco Way on.
- Hey Siri, what's the temperature at home?
- Hey Siri, what's the temperature in the Basement? (get the temperature from a Nest Temperature Sensing element)
- Hey Siri, what's the status of my smoke detector?
- Hey Siri, unlock my Front Door.
Donate to Support homebridge-nest
homebridge-nest is a drudge of bon. Information technology's provided under the ISC licence and is completely free to dress some you want with. But if you'd like to show your appreciation for its continued development, please consider clicking here to make a small donation operating theater, even better, send me a thank-you card:
Adrian Cable
US Post Office Box 370365
Montara, CA 94037
I appreciate your feedback and underpin in whatever form!
Source: https://github.com/chrisjshull/homebridge-nest
0 Komentar